方法一:使用 HTML5 Canvas
<template>
<div>
<canvas ref="watermarkCanvas" width="300" height="200"></canvas>
<img ref="image" src="example.jpg" alt="Example Image" @load="addWatermark" />
</div>
</template>
<script>
export default {
methods: {
addWatermark() {
const canvas = this.$refs.watermarkCanvas;
const ctx = canvas.getContext('2d');
const img = this.$refs.image;
ctx.drawImage(img, 0, 0);
// 添加文字水印
ctx.font = '14px Arial';
ctx.fillStyle = 'rgba(255, 255, 255, 0.5)';
ctx.fillText('Watermark', 100, 150);
}
}
}
</script>
方法二:使用第三方库
<template>
<div>
<vue-watermark :text="watermarkText" :font-size="20" :font-family="'Arial'" :color="'rgba(255, 255, 255, 0.5)'" :x="100" :y="100"></vue-watermark>
<img src="example.jpg" alt="Example Image" />
</div>
</template>
<script>
import VueWatermark from 'vue-watermark';
export default {
components: {
VueWatermark
},
data() {
return {
watermarkText: 'Watermark'
};
}
}
</script>
方法三:使用 CSS
如果你只是想添加简单的文字水印,可以使用 CSS 来实现。以下是一个示例:
<template>
<div>
<img src="example.jpg" alt="Example Image" style="position: relative;">
<div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(255, 255, 255, 0.5); color: #fff; font-size: 14px; text-align: center; line-height: 200px;">Watermark</div>
</div>
</template>