2010-09-04 94 views
8

सी # के लिए कुछ अच्छी छवि पुस्तकालय क्या हैं? मुख्य रूप से परतों में पेंटिंग जैसी चीजों के लिए। या शायद एक संसाधन जो समान कार्यों का वर्णन कर सकता है?.NET छवि पुस्तकालय

+0

क्या आप * छवियों * या ड्राइंग पुस्तकालयों के बारे में बात कर रहे हैं? सिस्टम। ड्रॉइंग नेमस्पेस आपके पास शुरू करने के लिए पर्याप्त होना चाहिए (जीडीआई का उपयोग करके)। – TheCloudlessSky

+0

छवि पुस्तकालय, मुख्य रूप से चित्र बॉक्स में छवियों को जोड़ने के लिए, या कस्टम नियंत्रण, और प्रत्येक छवि को स्वयं बनाते हैं, ताकि इसे अलग-अलग तरीके से छेड़छाड़ की जा सके। – Rekar

+0

क्या आपको परवाह है कि लाइब्रेरी किस भाषा में लिखी गई है, जब तक आप इसका उपयोग सी # से कर सकते हैं? –

उत्तर

4

के साथ स्थापित आता है:

Image GetLayeredImage(int width, int height, params Image[] layers) 
{ Point layerPosition = new Point(0,0); 
    Bitmap bm = new Bitmap(width,height); 
    using(Graphics g = Graphics.FromImage(bm)) 
    { foreach(Image layer in layers) g.DrawImage(layer, layerPosition); 
    } 
    return bm; 
} 

उपरोक्त उदाहरण में, एक विधि, GetLayeredImage() परिभाषित किया गया है कि समग्र छवि की चौड़ाई/ऊंचाई को स्वीकार करता है , Image ऑब्जेक्ट्स की एक सरणी के साथ, प्रत्येक परत के लिए एक। एक बिंदु (0,0) को प्रत्येक परत के लिए शीर्ष-बाएं स्थिति के रूप में परिभाषित किया जाता है। Bitmap ऑब्जेक्ट बनाया गया है और उस से Graphics ऑब्जेक्ट बिटमैप पर ड्राइंग के लिए बनाया गया है। सरणी में प्रत्येक छवि को बिंदु (0,0) पर बिटमैप पर खींचा जाता है - आप प्रत्येक परत के लिए एक अलग Point मान बनाकर इसे बदलना चाहते हैं। परिणामी बिटमैप फिर वापस कर दिया जाता है। वापसी मूल्य सभी परतों के साथ एक छवि है।

Image layer1 = Image.FromFile("layer1.jpg"); 
Image layer2 = Image.FromFile("layer2.jpg"); 
Image layeredImg = GetLayeredImage(width,height,layer1,layer2); 
pictureBox.Image = layeredImg; 
+0

परतों को बनाने के लिए पहले से ही .NET में ड्रॉइंग/ग्राफिक्स का उपयोग करके समझाया जा सकता है जिसे परत के आधार पर छवियों के आवागमन की अनुमति देने के लिए स्विच किया जा सकता है? – Rekar

+1

मैंने एनिमेटेड जीआईएफ के बारे में कुछ जानकारी जोड़ा। –

+0

हम्म, बिल्कुल मेरा मतलब नहीं था। जब मैंने आंदोलन को संदर्भित किया तो मेरा एनिमेटेड छवियों का मतलब नहीं था। मैं वास्तव में छवि की स्थिति का मतलब था परतों से अलग हो जाने की इजाजत देता है, पेंट.net की तरह, लेकिन एक बहुत ही सरल रूप है। – Rekar

0

मैं बड़ी सफलता के साथ प्रो एसडीके इमेजिंग LeadTools बुलाया तृतीय-पक्ष उपकरण का उपयोग किया है:

यहाँ कैसे इस विधि कॉल करने पर एक उदाहरण है।

http://www.leadtools.com/sdk/image-processing/default.htm

आमतौर पर Paint.Net कार्यक्षमता ऐसा कुछ या तीसरे पक्ष के सॉफ़्टवेयर के रास्ते अपनी ओर से कोडिंग का एक बहुत द्वारा प्राप्त किया जा जाएगा।

+0

मैं बस कुछ बुनियादी कार्यक्षमता की तलाश में हूं। उदाहरण के लिए Visio जैसे किसी भी आरेखण सॉफ्टवेयर की तरह। मुझे फ़ोटोशॉप की ज़रूरत नहीं है, कुछ मूल बातें कुछ चीजों को एक तस्वीर बॉक्स में जोड़ने के लिए, और जरूरत पड़ने पर अलग-अलग टुकड़ों के चारों ओर स्थानांतरित करने में सक्षम होने की आवश्यकता नहीं है। – Rekar

0

लीडटोल्स और Atalasoft DotImage दोनों बहुत अच्छे हैं। मुझे लीडटोल्स के साथ शुभकामनाएं मिली हैं। आप Leadtools और शायद DotImage के साथ अंतर्निहित system.drawing सुविधाओं का उपयोग कर सकते हैं।

+0

इसके अलावा, फ्री इमेज एक मुक्त ओपन सोर्स विकल्प है। – xpda

+0

यूआरएल [फ्रीइमेज] है (http://freeimage.sourceforge.net/)। –

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