1. 程式人生 > 其它 >上傳圖片透明色變黑色 (Bitmap 圖片) c#

上傳圖片透明色變黑色 (Bitmap 圖片) c#

遇到一個很奇幻的問題,前臺富文字上傳圖片 透明色變成了黑色,記錄一下。

原因是圖片格式儲存錯了,比如上傳 JPGE 儲存為 ImageFormat.PNG.

正確的base64儲存圖片如下:

byte[] arr2 = Convert.FromBase64String(datasource);//datasource :  base64 string
Imagename = filePath + type;// 檔案路徑  d:file/   +   aaa.jpg
using (MemoryStream ms2 = new MemoryStream(arr2))
{
System.Drawing.Bitmap bmp2 = new System.Drawing.Bitmap(ms2);
bmp2.Save(Imagename, GetImageFormat(type));
}

public ImageFormat GetImageFormat(string type)
{
type = type.ToLower();
var imageformat = ImageFormat.Png;
switch (type)
{
case ".png":
imageformat= ImageFormat.Png;
break;

case ".gif":
imageformat = ImageFormat.Gif;
break;
case ".jpeg":
imageformat = ImageFormat.Jpeg;
break;

case ".jpg":
imageformat = ImageFormat.Jpeg;
break;

case ".memorybmp":
imageformat = ImageFormat.MemoryBmp;
break;

case ".bmp":
imageformat = ImageFormat.Bmp;
break;
case ".emf":
imageformat = ImageFormat.Emf;
break;
case ".wmf":
imageformat = ImageFormat.Wmf;
break;
case ".tiff":
imageformat = ImageFormat.Tiff;
break;
case ".exif":
imageformat = ImageFormat.Exif;
break;
case ".icon":
imageformat = ImageFormat.Icon;
break;
}
return imageformat;
}