这是我的代码现在的样子:

System.Drawing.Image objImage = System.Drawing.Image.FromFile(Server.MapPath("aaa.jpg"));

int height = objImage.Height;
int width = objImage.Width;

System.Drawing.Bitmap bitmapimage = new System.Drawing.Bitmap(objImage, width, height);
System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmapimage);
System.Drawing.Image bitmap2 = (System.Drawing.Image)Bitmap.FromFile(Server.MapPath("sem.png"));

g.DrawImage(bitmap2, (objImage.Width - bitmap2.Width) / 2, (objImage.Height - bitmap2.Height) / 2);

MemoryStream stream = new MemoryStream();
bitmapimage.Save(stream, ImageFormat.Jpeg);

String saveImagePath = Server.MapPath("ImagesMerge/") + "aaa.jpg";
bitmapimage.Save(saveImagePath);
imgBig.ImageUrl = saveImagePath;


我现在遇到的问题是图像未显示在浏览器中,我不明白为什么。

最佳答案

就像jmaglasang所说的,我建议您使用ashx文件,如果不需要保留图像,只需将图像流直接发送到http而不将其保存在磁盘上

所以你只需要做类似的事情

       <img src="Handler.ashx?action=merge&image1=blah.jpg&image2=bloh.jpg">


查看this code,获取有关如何发送驱动器中不存在的内存中图像的示例

关于c# - 将位图转换为ASP.NET的图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1606784/

10-11 00:58