let File = plus.android.importClass('java.io.File')
let FileOutputStream = plus.android.importClass('java.io.FileOutputStream')
let Bitmap = plus.android.importClass('android.graphics.Bitmap');
let WallpaperManager = plus.android.importClass('android.app.WallpaperManager');
let BitmapFactory = plus.android.importClass('android.graphics.BitmapFactory');
let Canvas = plus.android.importClass('android.graphics.Canvas');
let StaticLayout = plus.android.importClass('android.text.StaticLayout') //处理文字换行
let TextPaint = plus.android.importClass('android.text.TextPaint') //画笔
let Rect = plus.android.importClass('android.graphics.Rect'); //文字矩阵区域
let Layout = plus.android.importClass('android.text.Layout');
let Color = plus.android.importClass('android.graphics.Color');
function saveImage(path, newBitmap) {
let filePath = new File(path);
let fos = new FileOutputStream(filePath);
newBitmap.compress(Bitmap.CompressFormat.PNG, 50, fos);
}
export function initWatermark(path) {
let Main = plus.android.runtimeMainActivity();
let wallpaperManager = WallpaperManager.getInstance(Main);
plus.android.importClass(wallpaperManager);
uni.getImageInfo({
src: path,
success: function(info) {
let filePath = plus.io.convertLocalFileSystemURL(path)
console.log(filePath)
let bitmap = BitmapFactory.decodeFile(filePath)
let newBitmap = Bitmap.createBitmap(info.width, info.height, Bitmap.Config.ARGB_8888);
let canvas = new Canvas(newBitmap)
canvas.drawBitmap(bitmap, 0, 0, null)
let mPaint = new TextPaint()
let textBounds = new Rect()
console.log(Color)
mPaint.setTextSize(40)
mPaint.setAntiAlias(true) //抗锯齿
mPaint.setColor(Color.parseColor('#e3e3e3'))
mPaint.setAlpha(0x60)
canvas.rotate(45);
// 竖向
for(let i = 0;i<20;i++){
// 横向
for(let x =0;x<10;x++){
// canvas.translate(0, i*150)
console.log(info.height / 2)
canvas.drawText("王xx", (x * 400), (i * 100) - 400, mPaint); //绘制文字
canvas.save()
}
}
canvas.restore()
saveImage(path, newBitmap)
}
})
}
uniapp 图片添加水印 (引用安卓原生包)
最新推荐文章于 2024-02-24 22:45:54 发布