2012-11-12 14 views
14

जब आप किसी छवि पर एक -webkit-filter और a -webkit-transition लागू करते हैं और होवर पर फ़िल्टर बदलते हैं, तो छवि संक्रमण अच्छी तरह से करता है, लेकिन फिर छवि वास्तव में अस्पष्ट हो जाती है।सीटी फ़िल्टर रेटिना डिस्प्ले पर फ़िल्टर करें: फ़ज़ी छवियां

नोट: यह केवल रेटिना-प्रदर्शित करता है पर होता है - कोई समस्या नहीं 'सामान्य' ppi-साथ प्रदर्शित बिल्कुल, लेकिन उदाहरण के लिए एक नया मैकबुक प्रो रेटिना प्रदर्शन के साथ पर फजी।

मेरे सीएसएस (बिना विक्रेता उपसर्गों):

img {filter:grayscale(1);filter:saturate(0%);transition:2s ease;width:200px;height:200px} 
img:hover {filter:grayscale(0)}​ 

नोट: http://jsfiddle.net/dya2t/7/: प्रभाव/बग को देखने के लिए, मैं 2 सेकंड

चेक बाहर मेरी डेमो के लिए संक्रमण अवधि निर्धारित किया है

मैं इसे कैसे ठीक कर सकता हूं?

संपादित करें: यदि मैं सेट करता हूं: होवर-स्टेट फ़िल्टर करने के लिए: कोई भी तेज नहीं! :-) लेकिन निश्चित रूप से संक्रमण अब काम नहीं करता है: -/ जैसे ही कोई छवि पर फ़िल्टर होता है (भले ही मान 0 या 0% हो), छवि रेटिना डिस्प्ले पर अस्पष्ट हो जाती है (संक्रमण के साथ या बिना ... यह सिर्फ धुंधला है, हर समय)। मुझे लगता है कि यह एक फ़िल्टर-बग है।


यह वह जगह है WebKit में एक ज्ञात बग https://bugs.webkit.org/show_bug.cgi?id=93471

+0

आप कर सकते हैं इस तरह श्रृंखला फिल्टर: 'फिल्टर: ग्रेस्केल (0.5) कलंक (1px) को परिपूर्ण (2),' इत्यादि ..: http://jsfiddle.net/meo/dya2t/9/ लेकिन मुझे नहीं पता कि यह आपकी समस्या को हल करता है या नहीं, मेरे पास रेटिना स्क्रीन नहीं है – meo

+0

@meo: दुर्भाग्य से चेनिंग फ़िल्टर मदद नहीं कर रहे हैं, thx वैसे भी – albuvee

+0

अपने बेड़े में संतृप्ति फ़िल्टर बस ग्रेस्केल को ओवरराइड करता है। आपको संतृप्ति से छुटकारा पाना चाहिए। यह तीखेपन के मुद्दे को हल नहीं करेगा, लेकिन कम से कम आपका फ़िल्टर काम करेगा :) – robertp

उत्तर

38

मैं img टैग के लिए आवेदन करने से इस समस्या के समाधान पाने में कामयाब रहे:

-webkit-transform: translateZ(0); 

http://jsfiddle.net/78qbn/3/

+3

मैं इस वर्कअराउंड कार्यों को पूरी तरह से पुष्टि कर सकता हूं। मुझे विश्वास है कि यह सही जवाब है, क्योंकि सवाल यह था कि "मैं इसे कैसे ठीक कर सकता हूं" नहीं, "यहां समस्या क्या है" :) – mezis

+1

आपने इसे कैसे समझ लिया? यह कमाल का है। – ns1

4

-webkit साथ बाल तत्वों -बैकफेस-दृश्यता: छुपा; इसे हल करेंगे।

http://codepen.io/amboy00/pen/Bxbrd

+0

यह मेरे लिए चाल है जहां '' '-webkit-transform: translateZ (0)' '' धन्यवाद नहीं, धन्यवाद! – thomasstephn

+0

'-webkit-transform' ने मेरे लिए काम किया, लेकिन यह छवि के किनारे को फिसल गया; यह भी काम किया लेकिन बिना क्लिपिंग के। धन्यवाद! –

0

शामिल हुए stackoverflow दूसरों यह बताने के लिए के बाद से मैं अपने आप को इस का पता लगाने के लिए किया था: इस बग भी प्रकट होता है (लेकिन अलग ढंग से) जब क्रोम में छवियों प्रिंट करने का प्रयास। वे सुपर पिक्सलेटेड चालू करते हैं!

यदि आप प्रिंटर या प्रिंट सेटिंग्स के बावजूद क्रोम में एक पीएनजी पर -webkit-filter फेंकते हैं, तो यह छवियों को सही आकार पर प्रिंट करता है, लेकिन 70 डीपीआई से कम हो जाता है। यह प्रिंट पूर्वावलोकन में भी दिखाई देता है।

-webkit-transform: translateZ(0); इसे ठीक किया गया।

Meatspace रेप्रो: prints of same stack of PNGs with & without fix

संबंधित मुद्दे