1
我有一個MVC應用程序,我正在創建一個帶有一些文本的小200x200圖像。圖像在網頁上不透明
將圖像保存到文件系統時的背景是透明的,但是當我在視圖中渲染ByteArray時,透明度爲黑色。
這是一些創建圖像
var newImage = new Bitmap(200, 200, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
newImage.MakeTransparent(Color.Black);
Graphics g = Graphics.FromImage(newImage);
g.Clear(Color.Transparent);
MemoryStream memoryStream = new MemoryStream();
newImage.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Jpeg);
return memoryStream;
這是在我的控制器代碼。 ReadToEnd的將MemoryStream轉換爲字節數組
public FileContentResult GetImage()
{
Captioner.Captioner captioner = new Captioner.Captioner();
MemoryStream msSpeechBubble = captioner.DrawSpeechBubble();
byte[] buffer = ReadToEnd(msSpeechBubble);
return File(buffer, "image/png");
}
這就是後來我的視圖代碼
<img src="<%= Url.Action("GetImage", "Home") %>" />
System.Drawing.Imaging.ImageFormat.Jpeg刪除Alpha通道。 – Monso
很高興知道,謝謝 – griegs