[转]c# 画图中bitmap类处理出图片时,存储的注意事项
2021-04-13 08:26
标签:aws win 自己 存储 朋友 stream name color new 今天查找以前写的画图程序,想完善一下,发现 图片添加文字水印时候会有些模糊,特别是小字体的时候特别模糊, 经过一番调适,终于发现了问题 帖上代码,警示自己 System.Drawing.Image image = System.Drawing.Image.FromFile(Server.MapPath("b1.jpg")); g.DrawImage(image, 0, 0, image.Width, image.Height); Font f = new Font("verdana", 14); //bitWaterMark.Save(ms, ImageFormat.Jpeg); //img2.Save(Server.MapPath("test.jpg"), ImageFormat.Jpeg); 红色字体部分是问题所在,今天才发现这个问题,我想如果用C#画图的朋友也会发现这个问题 用bitemap类不管是存储到文件,还是存储为数据流来处理 image 对象时候,如果 加上ImageFormat.Jpeg 都会让图片变模糊,真是很诡异,如果 必须要存储为数据流,那么用ImageFormat.Bmp存储然后保存,生成的图片也会比ImageFormat.Jpeg要清晰的多,但问题终于解决了,生成的图片很清晰了。 [转]c# 画图中bitmap类处理出图片时,存储的注意事项 标签:aws win 自己 存储 朋友 stream name color new 原文地址:https://www.cnblogs.com/vic_lu/p/8983802.html
Bitmap bitWaterMark = new Bitmap(image.Width, image.Height);
Graphics g = Graphics.FromImage(bitWaterMark);
Brush c = new SolidBrush(Color.FromName("red"));
string addtext = "测试字体啊";
g.DrawString(addtext, f, c, 10, 1);
g.Dispose();
image.Dispose();
System.IO.MemoryStream ms = new System.IO.MemoryStream();
bitWaterMark.Save(ms, ImageFormat.Bmp);
//重新生成Image对象
System.Drawing.Image img2 = System.Drawing.Image.FromStream(ms);
//返回新的Image对象
//bitWaterMark.Save(Server.MapPath("test.jpg"));
img2.Save(Server.MapPath("test.jpg"));
bitWaterMark.Dispose();
文章标题:[转]c# 画图中bitmap类处理出图片时,存储的注意事项
文章链接:http://soscw.com/index.php/essay/75107.html