<template>
<view>
<button type="primary" @tap="takePhoto">拍照</button>
<image mode="widthFix" :src="src" @click="preview"></image>
<view style="position: absolute;top: -999999px;">
<view>
<canvas :style="{'width':w,'height': h}" canvas-id="firstCanvas"></canvas>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
src:'',
w:'',
h:''
}
},
methods: {
preview(){
uni.previewImage({
urls:[this.src],
current:0
})
},
takePhoto() {
var that = this;
uni.chooseImage({
count:1,
success(res) {
uni.getImageInfo({
src: res.tempFilePaths[0],
success: (ress) => {
that.w = ress.width/3+'px';
that.h = ress.height/3+'px';
let ctx = uni.createCanvasContext('firstCanvas'); /** 创建画布 */
//将图片src放到cancas内,宽高为图片大小
ctx.drawImage(res.tempFilePaths[0], 0, 0, ress.width / 3, ress.height / 3)
ctx.setFontSize(18)
ctx.setFillStyle('#8a2929')
ctx.rotate(30 * Math.PI / 180);
let textToWidth = ress.width / 3 * 0.5;
let textToHeight = ress.height / 3 * 0.3;
ctx.fillText('我是水印', textToWidth, textToHeight)
/** 除了上面的文字水印,这里也可以加入图片水印 */
//ctx.drawImage('/static/watermark.png', 0, 0, ress.width / 3, ress.height / 3)
ctx.draw(false,()=>{
setTimeout(() => {
uni.canvasToTempFilePath({
canvasId: 'firstCanvas',
success: (res1) => {
that.src=res1.tempFilePath;
}
});
}, 1000);
});
}
})
}
});
}
}
}
</script>
<style>
</style>
uniapp 给照片加水印
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...