मैं एक विशिष्ट feDisplacementMap उत्पन्न करने और दुर्भाग्य से विफल होने की कोशिश कर रहा हूं। मेरा मानना है कि ऐसा इसलिए है क्योंकि मेरे पास तंत्र की मौलिक गलतफहमी है। एसवीजी 1.1 कल्पना का कहना है:वर्दी ग्रे एक तटस्थ विस्थापन मैप क्यों नहीं है?
इस फिल्टर आदिम 'in2' से छवि से पिक्सल मूल्यों का उपयोग करता स्थानिक 'में' से छवि विस्थापित करने के लिए। यह परिवर्तन करने के लिए परिवर्तन है:
पी '(एक्स, वाई) < - पी (एक्स + स्केल * (एक्ससी (एक्स, वाई) - .5), वाई + स्केल * (वाईसी (एक्स, वाई) - .5)) जहां पी (एक्स, वाई) इनपुट छवि है, 'इन', और पी '(एक्स, वाई) गंतव्य है। एक्ससी (एक्स, वाई) और वाईसी (एक्स, वाई) xChannelSelector और yChannelSelector द्वारा नामित चैनल के घटक मान हैं। उदाहरण के लिए, x में विस्थापन को नियंत्रित करने के लिए x2 और जी घटक में विस्थापन को नियंत्रित करने के लिए 'इन 2' के आर घटक का उपयोग करने के लिए, xChannelSelector को "R" और yChannelSelector "G" पर सेट करें।
मेरी पढ़ाई से, इसका मतलब है कि एक तटस्थ ग्रे छवि का कोई शुद्ध पिक्सेल आंदोलन नहीं होना चाहिए। स्केल = 50 के साथ फ़िल्टर में उर्फ, 100,100 पर पिक्सेल को अपना नया मान (100 + 50 * (0.5 - 0.5), 100 + 50 * (0.5-0.5)) = 100,100 से प्राप्त होना चाहिए। हालांकि जब मैं एक ग्रेस्केल की कोशिश करता हूं, तो यह मैपिंग पिक्सल को ऊपर और स्रोत छवि के बाईं ओर मैप कर रहा है।
<svg width="800px" height="600px" >
<defs>
<g id="displacerect">
<rect x="50" y="50" width="300" height="300" fill="rgb(127, 127, 127)"/>
<rect x="90" y="90" width="50" height="50" fill="red">
</rect>
</g>
<linearGradient id="grad1" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="rgb(255,255,0)" stop-opacity="1" />
<stop offset="100%"stop-color="rgb(255,0,0)" stop-opacity="1" />
</linearGradient>
<filter id="displaceME" x="0%" y="0%" width="100%" height="100%">
<feImage xlink:href="#displacerect" result="displaceImage"/>
<feDisplacementMap scale="125" xChannelSelector="R" yChannelSelector="G" in="SourceGraphic" in2="displaceImage"/>
</filter>
</defs>
<g filter="url(#displaceME)">
<rect x="50" y="50" width="300" height="300" fill="url(#grad1)"/>
</g>
<use xlink:href="#displacerect" x="400"/>
</svg>
अन्य सूत्रों के अनुसार: वास्तविक तटस्थ विस्थापन मानचित्र इस छवि को होना चाहिए:
क्या आपके पास [mcve] है? –