★★ DrawImage给图片加文字水印,字体不能固定大小,怎么办?

look4u 2012-02-03 04:41:28
我的代码如下,就是给上传的图片加个文字,小图片没有问题,如果是大图片字体会随着图片变大,很奇怪!!!
protected void Button2_Click1(object sender, EventArgs e)
{
//上传文件
string extension = GetPostfixStr(File1.PostedFile.FileName).ToLower();
string fileName = DateTime.Now.ToString("yyyyMMddhhmmss");
string path = Server.MapPath(".") + "/upload/" + fileName + extension;
File1.PostedFile.SaveAs(path);


//加文字水印,注意,这里的代码和以下加图片水印的代码不能共存
System.Drawing.Image image = System.Drawing.Image.FromFile(path);
Graphics g = Graphics.FromImage(image);
g.DrawImage(image, 0, 0, image.Width, image.Height);
Font f = new Font("宋体", 9);//此处设置了大小为9,但是会变大
f.Size = 9;
Brush b = new SolidBrush(Color.White);
string addText = "中国网络";
g.DrawString(addText, f, b, 2, 2);
b = new SolidBrush(Color.Black);
g.DrawString(addText, f, b, 1, 1);
g.Dispose();


//保存加水印过后的图片,删除原始图片
string newPath = Server.MapPath(".") + "/upload/" + "smk_" + fileName + extension;
image.Save(newPath);
int width = image.Width;
image.Dispose();

}
...全文
1145 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
look4u 2012-02-07
  • 打赏
  • 举报
回复
自己顶~
look4u 2012-02-06
  • 打赏
  • 举报
回复
有人知道吗?
look4u 2012-02-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 bdmh 的回复:]
你的9号字,是在你视觉效果上的,二image实际尺寸可能远比你看到的要大,你试着根据图像实际尺寸去变化字体大小
[/Quote]
我把图片放大到实际尺寸后,字体确实会变大,怎么能固定死就那么大呢,就像网页上的
bdmh 2012-02-04
  • 打赏
  • 举报
回复
你的9号字,是在你视觉效果上的,二image实际尺寸可能远比你看到的要大,你试着根据图像实际尺寸去变化字体大小

4,818

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧