• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

[郭立员] [3分钟学堂]用脚本给图片添加水印 [复制链接]

1#

大家好,我是公众号3分钟学堂的郭立员~

今天来讲一个给图片添加水印的案例,主要用到的知识点是图片数据的替换。

这里我预先准备2个水印图和一张需要添加水印的图片。



[水印图片]



下面说一下添加水印的原理:

①获取底图的颜色信息数据

②获取水印图片的颜色数据信息

③局部颜色信息进行替换,就是用水印图片的颜色信息,替换底图上某个区域的颜色信息。

④水印的位置,这个就需要考虑替换底图那部分的颜色信息,设置一个起始位置。

扩展:

如果想要镂空的水印,需要把水印的背景色去掉,拿我做的两个水印为例,都是白色背景,所以水印中的白色颜色信息不进行替换。

考虑到背景色未必是单一的白色,可能会有过渡,所以去背景色我们用一个阈值来定,比如阈值大于200,就是比较亮的颜色。

代码:


Dim Path = "/sdcard/pictures/ditu.jpg"
Dim Path1 = "/sdcard/pictures/shuiyin.jpg"
Dim Path2 = "/sdcard/pictures/ditu1.jpg"
Dim 阈值=180
Dim x=380,y=300 //距离左上角的位置
Dim PixelData =Image.GetPicData(Path)
Dim PixelData1 =Image.GetPicData(Path1)
TracePrint UBOUND(PixelData1),UBOUND(PixelData1[1])
For j = 1 To UBOUND(PixelData1)
For i = 1 To UBOUND(PixelData1[1])
If PixelData1[j][1] > 阈值 and PixelData1[j][2] > 阈值 and PixelData1[j][3] > 阈值 Then
Else
For k = 1 To 3
PixelData[j+x][i+y][k] = PixelData1[j][k]
Next
End If
Next
Next
Image.SavePixelData(PixelData, Path2)
PixelData = Null




这期的代码是可以直接使用的,但是需要注意起始位置坐标的填写,在代码中,变量x代表的是横向距离,变量y代表的是纵向距离,这两个变量填写的数值必须保证水印的在底图范围,如果水印超出底图,颜色数据的数组就超过极限范围从而报错。

如果想要直观地知道x和y的填写范围,可以用底图的尺寸减去水印图的尺寸,那个就是最大可填写的数值。

上面这部分讲的是图片类的水印,接下来说一下加文字类的水印。

先看一下效果:



在图片的右下角是我加上去的QQ号,这个水印是文字类型的,可以随便修改。

添加的原理是把水印文字放到一个悬浮窗里面,然后让悬浮窗显示在图片的上层,形成叠加的效果,最后再通过截图命令把它们一起截图保存。

看一下我这个例子的代码:

  1. FW.NewFWindow("浮窗名", 329,600, 150, 50)
  2. FW.AddTextView "浮窗名", "文字", "QQ:453485278", 0, 10, 200, 50
  3. FW.Opacity("浮窗名", 20)
  4. FW.Show("浮窗名")
  5. Delay 1000
  6. SnapShot("/sdcard/pictures/ditu2.jpg",0,305,540,690)
复制代码

这个悬浮窗我设置的比较简单,只是加了一个文字控件和修改了悬浮窗背景透明度。

可以修改的参数还挺多,比如文字内容、文字大小,文字颜色,背景颜色、透明度和圆角等,关于命令部分我就不详细讲解了,大家如果感兴趣按照命令介绍自己添加。

这种加水印有一个明显的弊端,就是图片最终成型是通过截图方式,也就是图片的尺寸依赖于设备屏幕的尺寸,而不是图片原始尺寸,如果对于图片尺寸有精确要求,就不适合这种方式了。

=正文完=


最后编辑郭立员 最后编辑于 2022-06-29 14:56:13
扫码免费获取我的基础教程【视频教程】
扫码下方二维码关注我的公众号:3分钟学堂

QQ交流群:936858410
2#

学习学习了

3#

看看

4#

这个是好东西啊

5#

前来学习

6#

没有这个image 插件

7#

12312312

8#

厉害,学习一下

9#


10#

666666666666666

11#

]用脚本给图片添加水印

12#

111111111

13#

感谢楼楼分享

14#

了解

15#

休息休息 学习学习

发新话题 回复该主题