我使用以下代碼(信貸給Dolph Larson)在ASP.net服務器上以位圖格式拍攝預製圖像文件,在其上繪製一個字符串並將其保存到服務器上的文件中。在原始代碼中,他將位圖轉儲到OutputStream,但我想將其轉儲到文件中。將文本添加到ASP.net C#中的JPG圖像並保存到服務器上的文件
以下代碼版本成功創建新文件,但是當我打開它時,字符串不會出現在新文件中的圖像上。我想我錯過了一個步驟 - 當我使用bitMapImage.Save(「bitmaptest.jpg」,ImageFormat.Jpeg),我只是重新保存原始而不是修改後的版本?
下面是代碼:
//Load the Image to be written on.
Bitmap bitMapImage = new
System.Drawing.Bitmap(Server.MapPath("generic.jpg"));
Graphics graphicImage = Graphics.FromImage(bitMapImage);
graphicImage.SmoothingMode = SmoothingMode.AntiAlias;
graphicImage.DrawString("testing 1 2 3",
new Font("Arial", 20, FontStyle.Bold),
SystemBrushes.WindowText, new Point(0, 0));
Response.ContentType = "image/jpeg";
bitMapImage.Save("bitmaptest.jpg", ImageFormat.Jpeg);
graphicImage.Dispose();
bitMapImage.Dispose();
提前感謝!
對我來說,您應該保存圖形的位圖,而不是保存圖像的位圖...換句話說,graphicImage可能會修改它自己的BitmapImage副本,並保存原始圖像。 – Machinarius