图片水印问题

wenkekenihao 2008-11-21 10:13:55
c#代码:
 if (FileUpload1.HasFile)
{
FileUpload1.SaveAs(Server.MapPath(@"~/upLoad/") + FileUpload1.FileName);
string path = Server.MapPath(@"~/upLoad/") + FileUpload1.FileName;
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("Verdana",12);
Brush b = new SolidBrush(Color.Orange);
string addText = "http://www.750sidecar.com/";
g.SmoothingMode = SmoothingMode.AntiAlias;
g.DrawString(addText,new Font("宋体",12),Brushes.Red,10,image.Height-100);
g.Dispose();
// string newPath = Server.MapPath(".") + "/UploadFile/" + fileName + "_new" + extension;
string path1 = Server.MapPath(@"~/upLoad/" + "new" + FileUpload1.FileName);
image.Save(path1);
image.Dispose();
string bigImgName = "new" + FileUpload1.FileName;
//int result = dfd.setbigImgUrl("new"+FileUpload1.FileName,int.Parse(HiddenField1.Value));
string imgType = FileUpload1.PostedFile.ContentType;
string imgLength = FileUpload1.PostedFile.ContentLength.ToString();
}

此代码是实现上传图片加文字水印的功能,文字大小设置的是12
但我发现上传不同的图片水印文字的大小不一样,有的正常,有的特别大
不知道怎么解决
望高手帮忙!
以下是图:
图1: (正常)
图2:(不正常,字体怎么这么大)
...全文
165 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
满衣兄 2008-11-21
  • 打赏
  • 举报
回复
如果4楼的GraphicsUnit.Pixel能实现就最好不过了.
wangping_li 2008-11-21
  • 打赏
  • 举报
回复
估计是尺寸不一样造成的
蝶恋花雨 2008-11-21
  • 打赏
  • 举报
回复
  //-------------------------------------------------------
//字体大小放在一个数组中,最大字体为32.
//感觉用处不大,可以自己再修改这里
//-------------------------------------------------------
int[] sizes = new int[] { 8, 7, 6, 5, 4 };

Font crFont = null;
SizeF crSize = new SizeF();

//循环测试数组中所定义的字体大小是否适合版权信息,如果合适就使用此种字体大小
for (int i = 0; i < 5; i++)
{
//设置字体类型,可以单独提出,作为参数
crFont = new Font("宋体", 13, FontStyle.Bold);
//测量此种字体大小
crSize = grPhoto.MeasureString(Copyright, crFont);

if ((ushort)crSize.Width < (ushort)phWidth)
break;
}


用这个代码判断一下字体
游北亮 2008-11-21
  • 打赏
  • 举报
回复
这个我也碰到过,就是因为2张图片的尺寸大小不同,可以试试2楼的办法。
RexZheng 2008-11-21
  • 打赏
  • 举报
回复
new Font("宋体",12)

改为

new Font("宋体", 12, GraphicsUnit.Pixel)
蝶恋花雨 2008-11-21
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20081104/10/0bcf207e-540e-4d0a-81ab-98368d075363.html
请参考
满衣兄 2008-11-21
  • 打赏
  • 举报
回复
是不是图片像素不一样造成的呢?是不是图片大的字也大?图片小的字也小?
根据图片尺寸加文字试试?
//获得图片大小
public void pic_size(string sourcepath)
{
//从文件取得图片对象
System.Drawing.Image image = System.Drawing.Image.FromFile(sourcepath);
wt = image.Width;
ht = image.Height;
}
wenkekenihao 2008-11-21
  • 打赏
  • 举报
回复
自己沙发 顶!

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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