<template>
<div class="container">
<img :src="originalImage" class="original" @load="convertToBlackAndWhite">
<img :src="blackAndWhiteImage" class="black-and-white" v-show="blackAndWhite">
</div>
</template>
<script>
export default {
data() {
return {
originalImage: 'images/pic.jpg',
blackAndWhiteImage: '',
blackAndWhite: false
};
},
methods: {
convertToBlackAndWhite() {
let canvas = document.createElement('canvas');
let ctx = canvas.getContext('2d');
let img = document.querySelector('.original');
canvas.width = img.width;
canvas.height = img.height;
ctx.drawImage(img, 0, 0);
let imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
let data = imageData.data;
for (let i = 0; i < data.length; i += 4) {
let brightness = (data[i] + data[i + 1] + data[i + 2]) / 3;
if (brightness > 128) {
data[i] = 255;
data[i + 1] = 255;
data[i + 2] = 255;
} else {
data[i] = 0;
data[i + 1] = 0;
data[i + 2] = 0;
}
}
ctx.putImageData(imageData, 0, 0);
this.blackAndWhiteImage = canvas.toDataURL();
this.blackAndWhite = true;
}
}
};
</script>
<style scoped>
.container {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
.original, .black-and-white {
max-width: 300px;
}
.black-and-white {
display: none;
}
</style>
以上是编程学习网小编为您介绍的“如何在Vue中实现图片的黑白处理?”的全面内容,想了解更多关于 vuejs 内容,请继续关注编程基础学习网。
沃梦达教程
本文标题为:如何在Vue中实现图片的黑白处理?


基础教程推荐
猜你喜欢
- html5视频如何嵌入到网页(视频代码) 2025-01-22
- Loaders.css免费开源加载动画框架介绍 2025-01-23
- 纯css实现漂亮又健壮的tooltip的方法 2024-01-23
- Bootstrap学习笔记之css组件(3) 2024-01-22
- 创建Vue3.0需要安装哪些脚手架 2025-01-16
- clientX,pageX,offsetX,x,layerX,screenX,offsetLeft区别分析 2024-01-08
- Django操作cookie的实现 2024-04-15
- webpack学习笔记一:安装webpack、webpack-dev-server、内存加载js和html文件、loader处理非js文件 2023-10-29
- JSONObject与JSONArray使用方法解析 2024-02-07
- js判断一个对象是否在一个对象数组中(场景分析) 2022-10-21