概述
本人业余小白一个,如有错误请见谅,欢迎各位大佬指教
说明
在我们的日常生活中,可能经常需要给某某图片添加上固定内容的水印。
例如在健康码上添加学院专业姓名等等,一两张还好,如果是十几二十张呢,一个个去加水印未免过于麻烦,刚好最近在看auto.js,就想着做一个。
仅pro版本可用,免费版的虽然也可以运行,但是水印的颜色不知道为什么固定成白色了,调不了(至少我是不会的),没办法。
支持
系统:Android
软件:auto.js pro
代码
代码还有很多优化的空间,只是目前只会这么一点点,所以没有完善,看以后慢慢捣鼓吧
无学号版本
//作者:liuyz_0112
//联系方式:QQ@1269367656
//版本:1.0.0
//差异:设置文字信息(去掉了两行)、for下去除name2、
//图片保存位置:/sdcard/脚本/截图/
//设置文字信息
var grade = "商学院123"
let mingzi = "张三,李四,王五";//存放姓名,需对应上方顺序
let arr1 = mingzi.split(",");
// 字符串转数组(通过",")
console.log("选取一个随机数");
var imgPath = "/sdcard/1.jpg"//初始图片地址
//开启悬浮窗
console.show();//打开控制台
console.setPosition(300, 1350);
console.log("开始 ^_^");
auto();//开启无障碍
console.log("开启无障碍");
//设置分辨率
setScreenMetrics(1080, 2400);
console.log("设置分辨率");
//创建文件夹
files.create("/sdcard/脚本/截图/")
//设置文字位置
//下面的这个框里面的数字下面有多少个名字,就要放多少个坐标,可以多不可以少
var arr_x = [200, 210, 215, 204, 206, 220];
function shuffle(arr_x) {
var i = arr_x.length;
while (i) {
var j = Math.floor(Math.random() * i--);
[arr_x[j], arr_x[i]] = [arr_x[i], arr_x[j]];
}
return arr_x;
}
var xzhou = shuffle(arr_x)
console.log("x轴随机数组:" + xzhou);
//下面的这个框里面的数字下面有多少个名字,就要放多少个坐标,可以多不可以少
var arr_y = [1300, 1400, 1500, 1450, 1350, 1600];
function shuffle(arr_y) {
var i = arr_y.length;
while (i) {
var j = Math.floor(Math.random() * i--);
[arr_y[j], arr_y[i]] = [arr_y[i], arr_y[j]];
}
return arr_y;
}
var yzhou = shuffle(arr_y)
console.log("y轴随机数组:" + yzhou);
console.log("读取图片");
console.log("——————————————")
// 读取图片
var img = images.read(imgPath);
for (var i = 0; i < arr1.length; i++) {
let name1 = arr1[i]//name1为数组的第i-1个,名字
let name3 = xzhou[i]//name3为数组的第i-1个
let name4 = yzhou[i]//name4为数组的第i-1个
wenzi = grade + name1//wenzi为水印文字
console.log("准备第" + (i + 1) +"个水印");
//画笔初始化
var p = new Paint();
var canvas = new Canvas(img);
p.setStrokeWidth(10)//设置画笔宽度
p.setAntiAlias(true)//设置是否使用抗锯齿功能,如果使用,会导致绘图速度变慢
p.setStyle(Paint.Style.FILL);
p.setTextSize(70)//文字大小
p.setColor(colors.parseColor("#FF0033"))//颜色
canvas.drawText(wenzi, name3, name4, p);//位置及文字
images.save(canvas.toImage(), "/sdcard/脚本/截图/" + arr1[i] + ".jpg", "jpg");//存放位置及文件名
console.log(arr1[i])
console.log("写入第" + (i + 1) + "个水印")
console.log("——————————————")
}
img.recycle();// 回收图片
console.log("结束")
console.log("4秒后自动关闭")
sleep(4000)
console.hide()
有学号版本
//作者:liuyz_0112
//联系方式:QQ@1269367656
//版本:1.0.0
//图片保存位置:/sdcard/脚本/截图/
//设置文字信息
var grade = "商学院123"
var number = "110,120,119"//存放学号
let mingzi = "张三,李四,王五";//存放姓名,需对应上方顺序
let arr1 = mingzi.split(",");
// 字符串转数组(通过",")
let arr2 = number.split(",");
// 字符串转数组(通过",")
console.log("选取一个随机数");
var imgPath = "/sdcard/1.jpg"//初始图片地址
//开启悬浮窗
console.show();//打开控制台
console.setPosition(300, 1350);
console.log("开始 ^_^");
auto();//开启无障碍
console.log("开启无障碍");
//设置分辨率
setScreenMetrics(1080, 2400);
console.log("设置分辨率");
//创建文件夹
files.create("/sdcard/脚本/截图/")
//设置文字位置
//下面的这个框里面的数字下面有多少个名字,就要放多少个坐标,可以多不可以少
var arr_x = [200, 210, 215, 204, 206, 220, 210, 215, 204, 206, 220, 210, 215, 204, 206, 220];
function shuffle(arr_x) {
var i = arr_x.length;
while (i) {
var j = Math.floor(Math.random() * i--);
[arr_x[j], arr_x[i]] = [arr_x[i], arr_x[j]];
}
return arr_x;
}
var xzhou = shuffle(arr_x)
console.log("x轴随机数组:" + xzhou);
//下面的这个框里面的数字下面有多少个名字,就要放多少个坐标,可以多不可以少
var arr_y = [1300, 1400, 1500, 1450, 1350, 1600, 1400, 1500, 1450, 1350, 1600, 1400, 1500, 1450, 1350, 1600];
function shuffle(arr_y) {
var i = arr_y.length;
while (i) {
var j = Math.floor(Math.random() * i--);
[arr_y[j], arr_y[i]] = [arr_y[i], arr_y[j]];
}
return arr_y;
}
var yzhou = shuffle(arr_y)
console.log("y轴随机数组:" + yzhou);
console.log("读取图片");
console.log("——————————————")
// 读取图片
var img = images.read(imgPath);
for (var i = 0; i < arr1.length; i++) {
let name1 = arr1[i]//name1为数组的第i-1个
let name2 = arr2[i]//name2为数组的第i-1个
let name3 = xzhou[i]//name3为数组的第i-1个
let name4 = yzhou[i]//name4为数组的第i-1个
wenzi = grade + name2 + name1//wenzi为水印文字
console.log("准备第" + (i + 1) + "个水印");
//画笔初始化
var p = new Paint();
var canvas = new Canvas(img);
p.setStrokeWidth(10)//设置画笔宽度
p.setAntiAlias(true)//设置是否使用抗锯齿功能,如果使用,会导致绘图速度变慢
p.setStyle(Paint.Style.FILL);
p.setTextSize(55)//文字大小
p.setColor(colors.parseColor("#FF0033"))//颜色
canvas.drawText(wenzi, name3, name4, p);//位置及文字
images.save(canvas.toImage(), "/sdcard/脚本/截图/" + arr1[i] + ".jpg", "jpg");//存放位置及文件名
console.log(arr1[i])
console.log("写入第" + (i + 1) + "个水印")
console.log("——————————————")
}
img.recycle();// 回收图片
console.log("结束")
console.log("4秒后自动关闭")
sleep(4000)
console.hide()
最后
以上就是朴素狗为你收集整理的auto.js一键给一张图片加不同的水印并导出(仅pro版本可用)的全部内容,希望文章能够帮你解决auto.js一键给一张图片加不同的水印并导出(仅pro版本可用)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复