2010-06-04 5 views
5

मेरे पास BitmapSource है। मैं इसे इस तरह एक पीएनजी में सहेजता हूं:डब्ल्यूपीएफ - मैं बिना किसी अल्फा चैनल के पीएनजी कैसे सहेज सकता हूं?

PngBitmapEncoder enc = new PngBitmapEncoder(); 
enc.Frames.Add(myBitmapSource); 
enc.Save(fs); 

मैं इसे अल्फा चैनल के बिना कैसे सहेज सकता हूं?

उत्तर

4

उपयोग FormatConvertedBitmap यह एन्कोडिंग से पहले प्रति पिक्सल 24 बिट में बदलने के लिए:

var noAlphaSource = new FormatConvertedBitmap 
{ 
    Source = myBitmapSource, 
    DestinationFormat = PixelFormats.Rgb24 
}; 

var encoder = new PngBitmapEncoder(); 
enc.Frames.Add(noAlphaSource); 
enc.Save(fs); 
1

एक 24bpp बिटमैप में अल्फा चैनल नहीं है। पीएनजी एन्कोडर द्वारा समर्थित। PixelFormats.Rgb24 के साथ एक लिखने योग्य बिटमैप बनाएं।

+0

मैं bitmapsource मैं प्राप्त पर नियंत्रण नहीं है, मैं कैसे bitmapsource मैं PixelFormats.Rgb24 साथ एक के लिए प्राप्त परिवर्तित कर सकते हैं? – Kyle

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