[转]c# 画图中bitmap类处理出图片时,存储的注意事项
今天查找以前写的画图程序,想完善一下,发现
图片添加文字水印时候会有些模糊,特别是小字体的时候特别模糊,
经过一番调适,终于发现了问题
帖上代码,警示自己
System.Drawing.Image image = System.Drawing.Image.FromFile(Server.MapPath("b1.jpg"));
Bitmap bitWaterMark = new Bitmap(image.Width, image.Height);
Graphics g = Graphics.FromImage(bitWaterMark);
g.DrawImage(image, 0, 0, image.Width, image.Height);
Font f = new Font("verdana", 14);
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);
//bitWaterMark.Save(ms, ImageFormat.Jpeg);
//重新生成Image对象
System.Drawing.Image img2 = System.Drawing.Image.FromStream(ms);
//返回新的Image对象
//bitWaterMark.Save(Server.MapPath("test.jpg"));
img2.Save(Server.MapPath("test.jpg"));
//img2.Save(Server.MapPath("test.jpg"), ImageFormat.Jpeg);
bitWaterMark.Dispose();
红色字体部分是问题所在,今天才发现这个问题,我想如果用C#画图的朋友也会发现这个问题
用bitemap类不管是存储到文件,还是存储为数据流来处理 image 对象时候,如果 加上ImageFormat.Jpeg
都会让图片变模糊,真是很诡异,如果 必须要存储为数据流,那么用ImageFormat.Bmp存储然后保存,生成的图片也会比ImageFormat.Jpeg要清晰的多,但问题终于解决了,生成的图片很清晰了。
[转]c# 画图中bitmap类处理出图片时,存储的注意事项的更多相关文章
- 使用MFC CImage类绘制PNG图片时遇到的问题
为了测试CImage绘制PNG图片的效果,我们用截图软件截得一张360的界面,然后使用PhotoShop等工具在图片的周边加上了透明的区域,然后保存成PNG图片文件.CImage首先从文件中加载,即 ...
- 如何简单地利用Bitmap为中介储存图片到数据库中
这是我的第一篇博文,请大家多多指教! 大概一个月之前,在跟朋友合作开发一个APP的过程中,我们发现到一个问题:图片的存储.因为数据库没有图片这种数据类型,当用户上传的图片需要存储的时候 ...
- C#中Bitmap类 对图像の操作 可检测图片完整性
try { Bitmap bm = new Bitmap(pics[ip]); BitmapToBytes(bm).Reverse().Take(2); } catch (Exception ex) ...
- C#中的bitmap类和图像像素值获取方法
一.Bitmap类 Bitmap对象封装了GDI+中的一个位图,此位图由图形图像及其属性的像素数据组成.因此Bitmap是用于处理由像素数据定义的图像的对象.该类的主要方法和属性如下: 1. GetP ...
- c#图像处理入门(-bitmap类和图像像素值获取方法) 转
一.Bitmap类 Bitmap对象封装了GDI+中的一个位图,此位图由图形图像及其属性的像素数据组成.因此Bitmap是用于处理由像素数据定义的图像的对象.该类的主要方法和属性如下: 1. GetP ...
- c#图像处理入门(-bitmap类和图像像素值获取方法)
c#图像处理入门 -bitmap类和图像像素值获取方法 一.Bitmap类 Bitmap对象封装了GDI+中的一个位图,此位图由图形图像及其属性的像素数据组成.因此Bitmap是用于处理由像素数据定义 ...
- Android图像处理之Bitmap类(1)
Bitmap是Android系统中的图像处理的最重要类之一.用它可以获取图像文件信息,进行图像剪切.旋转.缩放等操作,并可以指定格式保存图像文件.本文从应用的角度,着重介绍怎么用Bitmap来实现这些 ...
- Android图像处理之Bitmap类
Bitmap是Android系统中的图像处理的最重要类之一.用它可以获取图像文件信息,进行图像剪切.旋转.缩放等操作,并可以指定格式保存图像文件.本文从应用的角度,着重介绍怎么用Bitmap来实现 ...
- Android图像处理之Bitmap类(zz)
Bitmap是Android系统中的图像处理的最重要类之一.用它可以获取图像文件信息,进行图像剪切.旋转.缩放等操作,并可以指定格式保存图像文件.本文从应用的角度,着重介绍怎么用Bitmap来实现这些 ...
随机推荐
- VMWare虚拟机 网络连接模式
这个是rocks 群里面我的一个朋友分享的,我觉很好而且描述的很清楚,这是一个做事的态度问题. 1 VMWare虚拟机bridged.host-only和NAT网络模式的区别和用法 VMWare提 ...
- web中用纯CSS实现筛选菜单
web中用纯CSS实现筛选菜单 本文我们来用纯css实现像淘宝宝贝筛选菜单那样的效果,例子虽然没有淘宝那样强大,不过原理差不多,如果花点心思也可以实现和淘宝一样的. 内容过滤是一个在Web上常见的一个 ...
- php 相同的产品 一个背景色
Array ( [0] => 12 [1] => 17 [2] => 17 [3] => 17 [4] => 17 [5] => 3 [6] => 3 [7] ...
- ajax-C#
$(document).ready(function(){ $("#month").change(function () { var yearSelect = $("#y ...
- 假设web应用的文档根目录为MyApp,那么可以从哪里找到database.jar文件。
假设web应用的文档根目录为MyApp,那么可以从哪里找到database.jar文件. A. MyApp目录下 B. MyApp\images目录下 C. MyApp\WEB-INF目录下 D. M ...
- 【vijos】1447 开关灯泡(高精度+特殊的技巧)
https://vijos.org/p/1447 一开始想了想似乎只想到了与约数个数有关,即约数个数为奇数那么显然是亮的. 竟然没想到完全平方数..sad.. 在正因子中,只有完全平方数的正因子才是奇 ...
- 【BZOJ】2020: [Usaco2010 Jan]Buying Feed, II (dp)
http://www.lydsy.com/JudgeOnline/problem.php?id=2020 和背包差不多 同样滚动数组 f[j]表示当前位置j份食物的最小价值 f[j]=min(f[j- ...
- js用计时器加载大量dom
改进前: <table><tbody></tbody></table> var tbody=document.getElementsByTagName( ...
- echarts使用要点
- wordpress添加关键字
wordpress自动添加标签为关键字: <?php //判断是否为首页 if ( is_home ()) { $description = "jcomey一个文艺青年的个人博客&qu ...