当前位置:编程学习 > C#/ASP.NET >>

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

我的代码如下,就是给上传的图片加个文字,小图片没有问题,如果是大图片字体会随着图片变大,很奇怪!!!
 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();
 
      } --------------------编程问答-------------------- --------------------编程问答-------------------- 你的9号字,是在你视觉效果上的,二image实际尺寸可能远比你看到的要大,你试着根据图像实际尺寸去变化字体大小 --------------------编程问答--------------------
引用 2 楼 bdmh 的回复:
你的9号字,是在你视觉效果上的,二image实际尺寸可能远比你看到的要大,你试着根据图像实际尺寸去变化字体大小

我把图片放大到实际尺寸后,字体确实会变大,怎么能固定死就那么大呢,就像网页上的 --------------------编程问答-------------------- 有人知道吗? --------------------编程问答-------------------- 自己顶~
补充:.NET技术 ,  图表区
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,