मेरे पास एक पीएनजी है जिसमें पारदर्शी क्षेत्र हैं और मैं इसे छवि टैग पर सेट करता हूं लेकिन छवि के अपारदर्शी भाग पर होने पर मैं कर्सर को हाथ में कैसे सेट कर सकता हूं?आंशिक रूप से पारदर्शी छवि पर WPF कर्सर
धन्यवाद टोनी
मेरे पास एक पीएनजी है जिसमें पारदर्शी क्षेत्र हैं और मैं इसे छवि टैग पर सेट करता हूं लेकिन छवि के अपारदर्शी भाग पर होने पर मैं कर्सर को हाथ में कैसे सेट कर सकता हूं?आंशिक रूप से पारदर्शी छवि पर WPF कर्सर
धन्यवाद टोनी
यह आप बिटमैप खुद को देखने के लिए की आवश्यकता होगी ऐसा करने के लिए। डब्ल्यूपीएफ की हिट परीक्षण तंत्र किसी भी पिक्सेल को "पारदर्शी" ब्रश के रूप में चित्रित करती है, फिर भी अदृश्य होने के बावजूद क्लिक करने योग्य है। यह आम तौर पर एक अच्छी बात है लेकिन आप जो करने की कोशिश कर रहे हैं उसके रास्ते में आती है। क्योंकि पारदर्शी ब्रश के साथ एक .png पेंट्स, पूरे .png को हिट परीक्षण करते समय चित्रित किया जाता है।
क्या आप अपने MouseMove
ईवेंट हैंडलर में क्या करने की जरूरत है:
HitTestResult
आप वापस पाने के लिए, यह जांच लें कि यह एक Image
है और यदि हां, तो एक पारदर्शी पिक्सेल माउस अधीन है या नहींCursor
मूल्य पर तय करें कि कौन माउसअधिक निर्धारित करने के लिए एक माउस एक छवि का एक पारदर्शी पिक्सेल खत्म हो गया है कि क्या है:
e.GetPosition(image)
)BitmapSource.CopyPixels
एक 1-पिक्सेल recta कॉपी करने के लिए प्राप्त करने के लिए आप इस बिंदु पर खिंचाव वापस की गणना करना चाहिए खींच उपयोग कर रहे हैं एक सरणी में घुमाओ (यानी। केवल एक पिक्सेल माउस खत्म हो गया है)
यह काफी है कि मैं क्या किया है और शानदार ढंग से काम करता है है। – TWith2Sugars