मैं एक फ़ोटोशॉप फ़ाइल में उसी तरह से एक छवि का इलाज करने की कोशिश कर रहा हूं - छवि को ग्रेस्केल में विलुप्त करना, और उसके बाद एक बहु रंग मिश्रण मोड के साथ रंग ओवरले लागू करना। इस उद्देश्य से, मैं के साथ ...सीएसएस ग्रेस्केल फ़िल्टर और पृष्ठभूमि-मिश्रण-मोड एक ही समय में?
.someclass
{
/* grayscale */
-webkit-filter: grayscale(1);
filter: gray;
filter: grayscale(1);
filter: url(desaturate.svg#greyscale);
/* multiply */
background-color: rgba(190, 50, 50, 0.65);
background-blend-mode: multiply;
}
इस के साथ समस्या यह एक सीएसएस पृष्ठभूमि छवि स्टाइल रहा हूँ कि ग्रेस्केल फिल्टर मिश्रण मोड के लिए लाल रंग desaturating समाप्त होता है। दूसरे शब्दों में, गुणा पहले और फिर ग्रेस्केल होता है। मैं इसे कैसे स्विच करूं ताकि ग्रेस्केल पहले लागू हो और फिर मिश्रण मोड दूसरे पर लागू हो?
मैंने कोड और स्क्रीनशॉट (फ़ोटोशॉप में बने) के लिए एक बेवकूफ (http://jsfiddle.net/g54LcoL1/1/) बनाया है, जो कि मुझे परिणामस्वरूप दिखने की अपेक्षा की जाएगी। नीचे सबसे अधिक छवि, div.grayscale.multiply
, रंग लाल होना चाहिए।
यह AFAIK सीएसएस के साथ क्या करना असंभव है। ऐसा इसलिए है क्योंकि सीएसएस मैट्रिस में अपने सभी कार्यों को करता है, इसलिए सभी गुणों के लिए सेट ऑर्डर सेट किया गया है। विकल्प छवियों को हाथ से पहले ग्रेस्केल के रूप में सहेजने के लिए हैं या संभवतया कैनवास जैसे कुछ का उपयोग करते हैं और फिर –
सीएसएस के 'उपयोगकर्ता' के रूप में, ऐसा लगता है कि ऐसा होना चाहिए जिस तरह से यह होना चाहिए यह कोड में घोषित किया गया है। मुझे यकीन है कि यह एक कारण है कि यह तरीका क्यों है, लेकिन 'पृष्ठभूमि-मिश्रण-मोड' अधिक व्यापक रूप से समर्थित हो जाता है, इसलिए लोग मिश्रण/फ़िल्टर के क्रम में अधिक नियंत्रण मांगेंगे। मुझे लगता है कि 'कैनवास' जाने का रास्ता है। मैं इसे एक शॉट दूंगा। – Jeff
सीएसएस बॉट-टू-अप भाषा है शायद यह आपकी समस्या थी जिसे मैं नहीं जानता था। वैसे भी Pleeeease Playground कोशिश करें यह फिल्टर परिवर्तित करता है। – MindlessRanger