2013-06-06 4 views
8

enter image description hereछवि की सीमाओं विंडोज फोन

ऊपर में रंग के आधार पर फसल छवि मैं उपयोग कर रहा हूँ है। मैं जो हासिल करने की कोशिश कर रहा हूं वह छवि से सीमा के लाल हिस्से को हटा रहा है। मैं विंडोज फोन में प्रोग्रामेटिक रूप से इसे कैसे प्राप्त कर सकता हूं? मैंने पाया WriteableBitmapExtensions.Crop() विधि है, लेकिन मैं तर्क के साथ उलझन में हूँ

इसके अलावा एक और मुद्दा मैं का सामना करना पड़ रहा है (मैं कैसे एक्स, छवि के y स्थिति है, साथ ही आकार और चौड़ाई मिल सकती है?): मैं अलग-अलग आकार की सीमाओं वाली छवियां प्राप्त करूंगा, इसलिए मैं एक्स या वाई मानों को हार्डकोड नहीं कर सकता।
कोई भी समाधान का समाधान कर सकता है, या इस मुद्दे को हल करने के लिए मुझे मार्गदर्शन कर सकता है?

+0

हमेशा पूरी छवि के आसपास फ्रेम है? और यह एक यूनी-रंग फ्रेम –

+0

हां है। छवि हमेशा एक यूनी रंगीन सीमा से घिरा होगा। – StezPet

उत्तर

3

यह इतनी छोटी बात नहीं है और आपने हमारे साथ कोई कोड साझा नहीं किया है, इसलिए मैं आपको कुछ सुझाव दे सकता हूं। प्रत्येक लिखने योग्य बिटमैप की चौड़ाई और ऊंचाई परिभाषित है। आप जहां पश्चिम बंगाल अपने WriteableBitmap (चित्र)

कहा करने के बाद कि, यह WriteableBitmapEx लाइब्रेरी का उपयोग कर

var croppedBmp = wb.Crop(10, 10, 300, 220); 

तो एक WriteableBitmap काट-छांट करने तुच्छ है के माध्यम से

wb.PixelWidth; 
wb.PixelHeight; 

इसे उपयोग करने में सक्षम होना चाहिए अपने डब्ल्यूबी 320x240 था और सीमा चौड़ाई 10 थी, तो उपर्युक्त फसल कॉल चाल करेगा - आप बिंदु (10,10) से शुरू होने वाले आंतरिक आयत को ले लेंगे और (310, 230)

अब आपके दूसरे मुद्दे पर - सीमा की चौड़ाई को नहीं जानते। यह मदद मिलेगी अगर आप जानते हैं कि

  1. सीमा चित्र
  2. सीमा की हर तरफ एक ही मोटाई की है एक रंग में हमेशा होता है केवल

मान लिया जाये कि यह सच है, तो आप एक के बारे में सोच सकता है सरल एल्गोरिथ्म (है कि हर बार सही नहीं हो सकता है, लेकिन आप इसे परीक्षण करने और समायोजित कर सकते हैं), जो कुछ यादृच्छिक अंक ले जाएगा, उदाहरण के

के लिए (0, randNumber < wb.PixelHeight), (randNumber < wb.PixelWidth, 0), (wb.PixelWidth , RandNumber < wb.PixelHeight), (randNumber < wb.PixelWidth, wb.PixelHeight)

और फिर चित्र के भीतरी भाग की ओर बढ़ने जब तक पड़ोसी पिक्सेल प्रारंभिक पिक्सेल के रूप में एक ही रंग है। जितना अधिक अंक आप यादृच्छिक रूप से लेते हैं, उतना ही बेहतर मौका आपको सही होने का होता है। इसके साथ स्पष्ट समस्या यह है कि यह हो सकता है कि चित्र पर कुछ सीमा के समान रंग (बिल्कुल वही) है जो इसे सीमा की तरह लग रहा है, वास्तव में यह वास्तव में व्यापक है। यही कारण है कि आपको और अंक लेना चाहिए।

यदि आपने कुछ कोड दिखाया है, तो मुझे जवाब का विस्तार करने में खुशी होगी।

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