如何在Vue中实现图片的黑白处理?

413 ℃
<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实现图像模糊和饱和度调整?

如何用Vue实现图片的逆时针和顺时针旋转?

Vue中如何利用插件对图片进行进行裁剪

Vue中如何利用脚手架实现图片的裁剪功能

如何在Vue中实现图片的灰度处理?

标签: Vue图片处理

上面是“如何在Vue中实现图片的黑白处理?”的全面内容,想了解更多关于 vuejs 内容,请继续关注web建站教程。

当前网址:https://m.ipkd.cn/webs_12896.html

声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

帝国cms代码之会员发布相关信息列表的调用方法
3D彩色卡片
帝国cms:用js控制表格里的图片过大问题
html5如何input禁止文本输入(控制输入)
jquery如何删除最后一个元素及父元素