2008-08-16 10 views
9

क्या .NET के लिए कोई वैकल्पिक छवि मैनिपुलेशन लाइब्रेरी है? मैं ऐसा कुछ पसंद करूंगा जो प्रबंधित और खुला स्रोत हो।सिस्टम के बिना asp.net/c# में छवि मैनिपुलेशन। ड्रॉइंग/जीडीआई +

मैं क्योंकि दो कारणों में से यह पूछते हैं:

  1. मैं पिछले
  2. में डिबग GDI + System.Drawing साथ त्रुटियों के लिए कठिन सामना करना पड़ा मैं पढ़ लिया है asp.net वेब अनुप्रयोगों में System.Drawing का उपयोग कर कि 100% समर्थित नहीं है।

धन्यवाद!

संपादित करें: स्पष्टीकरण, मुझे पता है कि सिस्टम। ड्रॉइंग एएसपीनेट वेब ऐप्स काम कर सकता है - मैंने इसे अतीत में उपयोग किया है। मैं वास्तव में आश्चर्यचकित हूं कि .net के लिए कोई प्रबंधित छवि मैनिपुलेशन लाइब्रेरी हैं :)

+0

प्रबंधित बिटमैप ऑपरेशंस स्वाभाविक रूप से धीमे हैं। उपयोग करने योग्य बहुत कुछ भी एक प्रबंधित रैपर होगा, क्योंकि तेजी से जेपीईजी एन्कोडिंग और डिकोडिंग प्राप्त करने के लिए असेंबली-स्तरीय अनुकूलन (एसएसई) की आवश्यकता होती है। मेरा सुझाव है कि आप [ImageResizing.Net लाइब्रेरी] पर एक नज़र डालें (http://imageresizing.net)। यह 99% लोगों को सबसे ज्यादा लोगों की आवश्यकता होती है, और यह सभी जीडीआई की बग और क्विर्क को संभालती है। यह भी लाखों छवियों और लाखों आगंतुकों के साथ वेबसाइटों को ठीक से चलाने के बारे में पता है। –

उत्तर

2

मुझे किसी भी पूर्ण-प्रबंधित 2 डी ड्राइंग पुस्तकालयों के बारे में पता नहीं है जो या तो मुक्त या मुक्त स्रोत हैं (कुछ व्यावसायिक रूप से उपलब्ध प्रतीत होते हैं, लेकिन ओएसएस जाने का रास्ता है)। हालांकि, आप the Mono bindings to Cairo देख सकते हैं।

काहिरा एक मंच स्वतंत्र 2 डी ड्राइंग एपीआई है। आप the Cairo homepage पर इसके बारे में अधिक जानकारी प्राप्त कर सकते हैं। Cairo Wikipedia page में कुछ अच्छी जानकारी भी है।

काहिरा ओपन सोर्स वर्ल्ड में काफी व्यापक रूप से उपयोग किया जाता है, जो मुझे इसकी मजबूती के बारे में कुछ कहता है। मोज़िला, वेबकिट, और मोनो सभी इसका उपयोग दूसरों के बीच करते हैं। विडंबना यह है कि, मोनो वास्तव में इसका उपयोग अपने सिस्टम को वापस करने के लिए करता है। कार्यान्वयन को रोकना ... आंकड़ा जाना।

मोनो सिस्टम का उपयोग करने का एक तरीका भी हो सकता है। माइक्रोसॉफ्ट कार्यान्वयन के लिए ड्रॉप-इन प्रतिस्थापन के रूप में कार्यान्वयन को रोकना, हालांकि मुझे यकीन नहीं है कि यह कैसे काम करेगा या नहीं। मैं शायद System.Drawing.dll संदर्भ को मोनो के संस्करण के साथ बदलकर शुरू करूंगा, और उसके बाद किसी भी त्रुटि से निपटने का प्रयास करूंगा।

+0

मोनो सिस्टम। ड्रॉइंग एक अपूर्ण है ... DrawImage, एक के लिए , कई अधिभारों को लागू नहीं करता है ... मैं एक कामकाज खोजने की कोशिश कर रहा हूं ताकि मैं http://imageresizing.net लाइब्रेरी में मोनो का समर्थन कर सकूं। –

+0

मोनो का नवीनतम संस्करण DrawImage का समर्थन करता है, अब कई ऑपरेशन काम करते हैं। –

0

(1) के संबंध में, त्रुटियों को डीबग करने में कठिनाई के कारण हार्ड हैंडल बंद नहीं करना (प्रबंधित() में निपटान())। मैं उत्सुक हूँ जहां आपने सुना (2)।

+1

माइक्रोसॉफ्ट के पास .NET दस्तावेज़ों में एक चेतावनी है (2): http://msdn.microsoft.com/en-us/library/system.drawing.aspx –

1

अनावश्यक साक्ष्य # 1: मैंने एएसपी.नेट के भीतर किसी भी समस्या के बिना ऑन-द-फ्लाई छवि निर्माण के लिए जीडीआई + का उपयोग किया है। मुझे यकीन नहीं है कि समस्याएं भी क्या होंगी।

+0

सिस्टम। ड्रॉइंग नेमस्पेस समर्थित नहीं है, एमएस ऐसा कहता है: http://msdn.microsoft.com/en-us/library/system.drawing.aspx तो गंभीर समस्याओं का सामना करने का मौका निश्चित रूप से वहाँ है .. – noocyte

4

आपको the WPF Imaging libraries shipped with .NET 3.0 में देखना चाहिए। वे अनुकूलित और मजबूत हैं (एयरो चलाने के लिए प्रयुक्त होते हैं, इसलिए आप जानते हैं कि वे कुशल हैं)। वे डब्ल्यूपीएफ प्रेषक पर निर्भर नहीं हैं, आसानी से एक्स्टेंसिबल हैं, और आधिकारिक रूप से समर्थित हैं। आप और अधिक क्या चाह सकते थे?

+0

बहुत यकीन है कि एरो डब्ल्यूपीएफ पर नहीं चलता है, क्योंकि आपको विंडोज़ में एरो काम करने के लिए .NET इंस्टॉल करने की आवश्यकता नहीं है। – rossisdead

+0

स्पष्ट रूप से WPF के पास asp.net के माध्यम से इसके स्वयं के मुद्दे हैं। बर्ट्रेंड ले रॉय से "अपडेट" और टिप्पणियां अनुभाग देखें - http://weblogs.asp.net/bleroy/archive/2010/01/21/server-side-resizing-with-wpf-now-with-jpg। aspx – EBarr

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