मैं बिटमैप से एक आकार की छवि बनाने की कोशिश कर रहा हूं, एक नई ऊंचाई/चौड़ाई और एक नया संकल्प सेट करता हूं और इसे पीएनजी में सहेजता हूं। मैं बी को पास करने की एक बिटमैप बनाने के लिए या तो सीधे ए) Image.FromFile(filename)
या बी से) New Bitmap(imageSource)
ऐसा कर सकते हैं। दोनों काम ठीक schmokay, लेकिन एक और बी मुझे मूल्यों preseve की अनुमति नहीं है (लेकिन यह मुझे useIcm=True
साथ मूल्यों की रक्षा करने की अनुमति देता है) मुझे रचना पर एक नया चौड़ाई/ऊंचाई निर्धारित करने की अनुमति नहीं देता है।सिस्टम से नया बिटमैप बनाते समय बिटमैप मानों को संरक्षित करना। ड्रॉइंग.इमेज
ठीक है, अब इस पर कुछ कोड और उदाहरण के लिए:
Dim sourceBitmap As New Bitmap(imagePath & myImage1Name)
< -not अच्छा बिल्कुल (# 1 अधिभार)। पर.Save
Dim sourceBitmap2 As Bitmap = Image.FromFile(imagePath & myImage1Name, True)
< -not अच्छा (# 5 अधिभार)HorizontalResolution
याPixelFormat
तरह चीजों की रक्षा नहीं करता है। यहHorizontalResolution
याPixelFormat
.Save
पर तरह बातें की रक्षा करता है, लेकिन यह मुझे एक नया आकार में छवि को प्रारंभ करने की अनुमति नहीं करता है।Dim targetBitmap As New Bitmap(sourceBitmap2, newWidth, newHeight)
<-अच्छा नहीं। हालांकिsourceBitmap2
(देखें # 2 ऊपर)useIcm=True
साथ प्रारंभ किया गया था, यह कोई फर्क नहीं पड़ता एक बार मैं इसेtargetBitmap
में स्रोत के रूप में में उत्तीर्ण कर ली है।
असल में, मैं सेट एक तरह से दोनों useIcm=True
और की तरह कुछ के साथ एक नया बिटमैप contruct तलाश कर रहा हूँ एक ही समय में चौड़ाई/ऊंचाई (Width
/Height
रीड-ओनली होते गुण एक बार यह बनाया गया है) ।
मैं Graphics.DrawImage
मार्ग भी नीचे चला गया है और यह वही है - Graphics.FromImage(sourceBitmap)
मानों को संरक्षित नहीं करता है।
मुझे इन मूल्यों को संरक्षित करने की आवश्यकता क्यों है? क्योंकि मुझे इन चित्रों को एक नए संकल्प के साथ पीएनजी (फ़ाइल आकार के लिए) में परिवर्तित करने की आवश्यकता है और मुद्रण के लिए समान भौतिक आयाम (इंच में इंच/एच) रखें। मुझे भौतिक आयामों को संरक्षित करने के लिए .SetResolution(xDpi,yDpi)
के साथ संकल्प मानों के आधार पर नई पिक्सेल चौड़ाई/ऊंचाई की आवश्यकता है, इसलिए यह समस्या नहीं है। मुद्दा PixelFormatSize
जैसी चीजें अपरिवर्तित रहने की आवश्यकता है (हाँ, मैंने EncoderParameters
की कोशिश की है - वे काम नहीं करते हैं। अगर आपको पसंद है तो मैं आपको गोररी विवरण दे सकता हूं, लेकिन अभी यह कहने के लिए पर्याप्त है, वे सिर्फ काम)।
व्हील, मुझे मेरी छाती से दूर मिला! ठीक है, कोई भी जो वास्तव में जानता है कि यह सब कैसे काम कर सकता है?
संपादित: फ़ाइलें प्रकार में खींचने के लिए PNG में बदलने की जरूरत: बीएमपी, TIF, GIF, WMF, EMF।
परावर्तक आपका मित्र यहां हो सकता है। आप कन्स्ट्रक्टर और एपीआई का एक सटीक संयोजन निर्धारित करने में सक्षम हो सकते हैं जो आपको वही देता है जो आप चाहते हैं। –
धन्यवाद मार्क। मैं परावर्तक से परिचित नहीं हूं, लेकिन मैं इसे एक नज़र दूंगा। संभावित रूप से वादा करता है। –