牙叔教程 簡單易懂
效果展示
修改列數
修改行數
修改旋轉角度
修改顏色
環境
手機: Mi 11 Pro
Android版本: 11
Autojs版本: 9。0。10
圖片新增水印步驟
選擇一張圖片
使用canvas在圖片上畫文字
調整水印到自己滿意為止
儲存新增水印的圖片
你將學到以下知識點
更換img控制元件的圖片
seekbar設定和獲取最大值, 當前值, 以及滑動監聽
檢測顏色是否符合十六進位制
監聽輸入框
避免圖片引用衝突導致報錯
獲取文字的寬高
旋轉畫板
繪製文字
如果上面的你都會了, 就沒必要看下去了,
划走吧
程式碼講解
1. ui介面
ui。layout(
);
2. 初始化畫介面
ui。rowSeekbar。setMax(8);
ui。colSeekbar。setMax(3);
ui。colSeekbar。setProgress(3);
ui。angleSeekbar。setMax(360);
ui。title。setText(“牙叔教程\n新增水印”);
let imgPath = “。/lynx。jpg”;
imgPath = files。path(imgPath);
let imgO = images。read(imgPath);
let bitmapO = imgO。getBitmap();
ui。img。setImageBitmap(bitmapO);
3. 點選按鈕, 儲存圖片
ui。save。click(function () {
if (!imgWithWatermark) {
toastLog(“圖片未新增水印”);
return false;
} else {
images。save(imgWithWatermark, “/sdcard/1。png”);
app。viewFile(“/sdcard/1。png”);
}
});
4. 更新圖片
function updateImg() {
let col = parseInt(ui。colSeekbar。getProgress());
let row = parseInt(ui。rowSeekbar。getProgress());
let angle = parseInt(ui。angleSeekbar。getProgress());
let currentImgWithWatermark = addWatermark(imgO, row, col, angle);
lastImgWithWatermark = imgWithWatermark;
imgWithWatermark = currentImgWithWatermark;
ui。img。setImageBitmap(imgWithWatermark。getBitmap());
lastImgWithWatermark && lastImgWithWatermark。recycle();
}
5. 監聽seekbar
ui。rowSeekbar。setOnSeekBarChangeListener({
onProgressChanged: function (seekBar, progress, fromUser) {
if (fromUser) {
ui。rowValue。setText(String(progress));
updateImg();
}
},
});
6. 監聽輸入框
ui。colorValue。addTextChangedListener(
new android。text。TextWatcher({
afterTextChanged: function (content) {
log(content);
updateImg();
},
})
);
7. 退出指令碼時, 回收資源
events。on(“exit”, function () {
bitmapO。recycle();
imgO。recycle();
imgWithWatermark && imgWithWatermark。recycle();
});
8. 判斷顏色是否符合十六進位制
顏色支援6位和8位的十六進位制, 也就是說可以調節顏色的透明度
function getColor() {
let colorStr = ui。colorValue。text();
if (/^#([0-9a-f]{6}|[0-9a-f]{8})$/。test(colorStr)) {
let colorNum = $colors。parseColor(colorStr);
return colorNum;
} else {
log(“顏色格式錯誤, 正確顏色格式: #aabbcc”);
return $colors。parseColor(“#ff0000”);
}
}
總結
以上就是圖片新增水印的大致步驟,
如果你想有自己風格的水印, 可以在看懂程式碼之後, 自行修改,
比如拉伸文字, 更換字型, 新增陰影浮雕之類的效果,
本教程實現的是基礎的水印, 更多的水印風格,
在你學會以後, 就可以自己給圖片新增水印啦,
你的風格, 自己做主。
名人名言
思路是最重要的, 其他的百度, bing, stackoverflow, github, 安卓文件, autojs文件, 最後才是群裡問問
——- 牙叔教程
宣告
部分內容來自網路
本教程僅用於學習, 禁止用於其他用途