イメージのサイズを次のように変更しようとしています。私はbyte[]
にサイズ変更されたイメージを返すので、データベースに保存することができます。 png画像の透明度が失われます。これをより良くするためにお手伝いください。PNGイメージのサイズ変更で透明性が失われるのはなぜですか?
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()を使用することが重要です。新しいImage()を作成した後。ありがとうございました! –
このMakeTransparentはどのオブジェクトを呼び出しますか? –