मैं निम्नानुसार एक छवि का आकार बदलने की कोशिश कर रहा हूं। मैं आकार की छवि को byte[]
में वापस कर देता हूं ताकि मैं इसे डेटाबेस में संग्रहीत कर सकूं। पीएनजी छवि की पारदर्शिता खो गई है। इसे बेहतर बनाने में मदद करें।एक पीएनजी छवि का आकार बदलना क्यों पारदर्शिता खो देता है?
private byte[] GetThumbNail(string imageFile, Stream imageStream,
int imageLen)
{
try
{
Image.GetThumbnailImageAbort imageCallBack =
new Image.GetThumbnailImageAbort(ThumbnailCallback);
Bitmap getBitmap = new Bitmap(imageFile);
byte[] returnByte = new byte[imageLen];
Image getThumbnail = getBitmap.GetThumbnailImage(160, 59,
imageCallBack, IntPtr.Zero);
using (Graphics g = Graphics.FromImage(getThumbnail))
{
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
g.InterpolationMode =
System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
g.DrawImage(getThumbnail, 0, 0, 160, 59);
}
using (MemoryStream ms = new MemoryStream())
{
getThumbnail.Save(ms, ImageFormat.Png);
getThumbnail.Save("test.png", ImageFormat.Png);
returnByte = ms.ToArray();
}
return returnByte;
}
catch (Exception)
{
throw;
}
}
हां। यहां तक कि काम नहीं किया। –
हां !!! यह काम करता हैं! आप मुझे बचा लीजिए! छवि का आकार बदलने या फसल के प्रत्येक चरण पर .MakeTransparent() का उपयोग करना महत्वपूर्ण है। एक नई छवि() बनाने के बाद। धन्यवाद! –
इस मेकट्रांस्पेरेंट कॉल में किस ऑब्जेक्ट में है? –