Tôi đang cố định lại kích thước hình ảnh như sau. Tôi trả lại hình ảnh đã đổi kích thước thành byte[]
để tôi có thể lưu trữ nó trong cơ sở dữ liệu. Độ trong suốt của hình ảnh png bị mất. Xin vui lòng giúp đỡ để làm cho điều này tốt hơn.Tại sao thay đổi kích thước hình ảnh png mất tính minh bạch?
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;
}
}
Yes. Ngay cả công việc đó cũng không thành công. –
Có !!! Nó hoạt động! Bạn Lưu Tôi! Điều quan trọng là sử dụng .MakeTransparent() trên mỗi bước thay đổi kích thước hình ảnh hoặc cắt. Sau khi bạn tạo một hình ảnh mới(). Cảm ơn bạn! –
Đối tượng nào có lệnh gọi MakeTransparent này? –