当前位置: 移动技术网 > IT编程>开发语言>.net > c# 图文添加文字斜水印

c# 图文添加文字斜水印

2019年07月13日  | 移动技术网IT编程  | 我要评论

可疑的英雄,歌手辛欣,朴美莉

项目中有个添加水印的需求,需要给图片铺满斜水印。

网上搜了半天全是添加在图片上、下、左、右的案例。

于是按照网上的某一段案例自己修改了一些代码。

 

 1                     bitmap bitmap = new bitmap(image);
 2                     int degree = 45;
 3                     //图片的宽度与高度
 4                     int width = bitmap.width, height = bitmap.height;
 5                     //水印文字
 6                     string text = string.format("仅供“{0}”使用", projectname);
 7                     graphics g = graphics.fromimage(bitmap);
 8                     g.drawimage(bitmap, 0, 0);
 9                     g.interpolationmode = system.drawing.drawing2d.interpolationmode.high;
10                     g.smoothingmode = system.drawing.drawing2d.smoothingmode.highquality;
11                     g.drawimage(image, new rectangle(0, 0, width, height), 0, 0, width, height, graphicsunit.pixel);
12                     font crfont = new font("微软雅黑", 22, fontstyle.bold);
13                     solidbrush semitransbrush = new solidbrush(color.fromargb(60, 137, 131, 131));
14                     //将原点移动 到图片中点
15                     g.translatetransform(0, height);
16                     //以原点为中心 转 -45度
17                     g.rotatetransform(-45);
18                     for (int i = 0; i < 50; i++)
19                     {
20                         g.drawstring(text, crfont, semitransbrush, new pointf(0 - i * 300, 100 + i * 300));
21                         g.drawstring(text, crfont, semitransbrush, new pointf(150 - i * 300, 500 + i * 300));
22                         g.drawstring(text, crfont, semitransbrush, new pointf(650 - i * 300, 600 + i * 300));
23                     }
24                     //保存文件
25                     bitmap.save(simgpath, imageformat.jpeg);
26                     return simgpath;

 

本来想法是画一个 g.drawstring从上至下的斜水印,铺满图片左边三分之一。

再画两个g.drawstring各占三分二,这样水印会铺满整张图片,效果也不错。

但项目的需求是水印文字是动态变化的,导致水印长度会长会短,长了第一个水印的尾部会把第二个水印覆盖掉一点。

这样就非常难看,调试了几天还是没有进展,最后只能画三个水印,让三条水印交错不在一个水平线上,缺点就是不太铺满图片。

希望有高手有更简便的方法可以交流一下。

下面是加完水印的效果图

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网