autojs圖片加水印

autojs圖片加水印

牙叔教程 簡單易懂

效果展示

修改列數

autojs圖片加水印

修改行數

autojs圖片加水印

修改旋轉角度

autojs圖片加水印

修改顏色

autojs圖片加水印

環境

手機: 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文件, 最後才是群裡問問

——- 牙叔教程

宣告

部分內容來自網路

本教程僅用於學習, 禁止用於其他用途