Rumah hujung hadapan web View.js Bagaimana untuk melaksanakan mod pendaraban dan pengadunan imej melalui Vue?

Bagaimana untuk melaksanakan mod pendaraban dan pengadunan imej melalui Vue?

Aug 26, 2023 pm 12:49 PM
vue mod campuran gambar gandakan

Bagaimana untuk melaksanakan mod pendaraban dan pengadunan imej melalui Vue?

Bagaimana untuk melaksanakan mod pendaraban dan pengadunan imej melalui Vue?

Dalam pembangunan bahagian hadapan, kami sering menghadapi situasi di mana kesan khas perlu diproses pada imej, seperti mod pendaraban dan pengadunan. Artikel ini akan memperkenalkan cara untuk mencapai dua kesan imej ini melalui Vue dan memberikan contoh kod.

  1. Kesan Darab

Darab ialah mod campuran warna biasa, yang boleh memperoleh nilai warna baharu dengan mendarabkan nilai saluran yang sepadan bagi dua warna. Dalam pemprosesan imej, kita boleh mencapai kesan pendaraban dengan melaraskan ketelusan imej.

Pertama, kita perlu memperkenalkan imej yang perlu diproses ke dalam projek Vue. Dalam templat, gunakan teg <img src="/static/imghw/default1.png" data-src="@/assets/image.jpg" class="lazy" alt="Bagaimana untuk melaksanakan mod pendaraban dan pengadunan imej melalui Vue?" > untuk memaparkan imej: <img src="/static/imghw/default1.png" data-src="@/assets/image.jpg" class="lazy" alt="Bagaimana untuk melaksanakan mod pendaraban dan pengadunan imej melalui Vue?" >标签展示图片:

<template>
  <img src="/static/imghw/default1.png"  data-src="@/assets/image.jpg"  class="lazy" alt="image" ref="image" />
</template>
Salin selepas log masuk

接下来,在Vue的computed属性中,使用canvas来处理图片的透明度:

<script>
export default {
  computed: {
    processImage() {
      const canvas = document.createElement("canvas");
      const ctx = canvas.getContext("2d");
      const image = this.$refs.image;
      canvas.width = image.width;
      canvas.height = image.height;

      ctx.drawImage(image, 0, 0);

      const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
      const data = imageData.data;

      // 遍历每个像素点
      for (let i = 0; i < data.length; i += 4) {
        const red = data[i]; // 红色通道值
        const green = data[i + 1]; // 绿色通道值
        const blue = data[i + 2]; // 蓝色通道值

        // 计算新的颜色值
        data[i] = red * 0.5;
        data[i + 1] = green * 0.5;
        data[i + 2] = blue * 0.5;
      }

      ctx.clearRect(0, 0, canvas.width, canvas.height);
      ctx.putImageData(imageData, 0, 0);

      return canvas.toDataURL();
    },
  },
};
</script>
Salin selepas log masuk

最后,在template中通过<img src="/static/imghw/default1.png" data-src="processImage" class="lazy" alt="Bagaimana untuk melaksanakan mod pendaraban dan pengadunan imej melalui Vue?" >标签展示处理后的图片:

<template>
  <img src="/static/imghw/default1.png"  data-src="processImage"  class="lazy"  : alt="processed image" />
</template>
Salin selepas log masuk

这样,就可以在页面上展示经过正片叠底处理的图片了。

  1. 混合模式效果

混合模式(Blend Mode)可以通过改变两个图层的像素颜色值来产生新的颜色效果。在Vue中使用混合模式需要借助CSS的mix-blend-mode属性。

首先,在template中添加需要处理的图片:

<template>
  <div class="blend-mode-container">
    <img src="/static/imghw/default1.png"  data-src="@/assets/image.jpg"  class="lazy" alt="image" />
    <img class="mask lazy"  src="/static/imghw/default1.png"  data-src="@/assets/mask.png"  alt="mask" />
  </div>
</template>
Salin selepas log masuk

通过设置mix-blend-mode

<style>
.blend-mode-container {
  position: relative;
}

.mask {
  position: absolute;
  top: 0;
  mix-blend-mode: multiply;
}
</style>
Salin selepas log masuk
Seterusnya, dalam atribut Vue yang dikira, gunakan kanvas untuk mengendalikan ketelusan imej:

rrreee

Akhir sekali, lulus dalam templat Teg <img alt="Bagaimana untuk melaksanakan mod pendaraban dan pengadunan imej melalui Vue?" > memaparkan imej yang diproses:

rrreee

Dengan cara ini, imej berganda boleh dipaparkan pada halaman. 🎜
    🎜Kesan mod pengadunan🎜🎜🎜Mod Campuran boleh menghasilkan kesan warna baharu dengan menukar nilai warna piksel dua lapisan. Menggunakan mod campuran dalam Vue memerlukan bantuan sifat mix-blend-mode CSS. 🎜🎜Mula-mula, tambahkan imej yang perlu diproses dalam templat: 🎜rrreee🎜Campurkan kedua-dua imej dengan menetapkan atribut mix-blend-mode: 🎜rrreee🎜Dengan cara ini, gunakan topeng mod gabungan darab Imej topeng dicampur dengan imej asal menggunakan kesan darab. 🎜🎜Ringkasnya, kita boleh mencapai kesan mod pendaraban dan pengadunan imej melalui Vue dengan mudah. Sama ada anda menggunakan kanvas untuk memproses imej atau melaksanakannya melalui mod campuran CSS, anda boleh memenuhi keperluan adegan yang berbeza untuk kesan khas pada imej. Semoga artikel ini dapat membantu anda! 🎜

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan mod pendaraban dan pengadunan imej melalui Vue?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana cara menggunakan Vue untuk melaksanakan borang petikan elektronik dengan header tunggal dan berbilang badan? Bagaimana cara menggunakan Vue untuk melaksanakan borang petikan elektronik dengan header tunggal dan berbilang badan? Apr 04, 2025 pm 11:39 PM

Cara melaksanakan borang petikan elektronik dengan header tunggal dan berbilang badan dalam Vue. Dalam pengurusan perusahaan moden, pemprosesan elektronik borang petikan adalah untuk meningkatkan kecekapan dan ...

Kenapa tidak ada maklumat permintaan halaman di rangkaian konsol selepas melompat Vue-router? Kenapa tidak ada maklumat permintaan halaman di rangkaian konsol selepas melompat Vue-router? Apr 04, 2025 pm 05:27 PM

Kenapa tidak ada maklumat permintaan halaman di rangkaian konsol selepas melompat Vue-router? Apabila menggunakan Vue-Router untuk pengalihan halaman, anda mungkin melihat ...

Bagaimana untuk melaksanakan fungsi memuat naik foto ahli-ahli fotografi tinggi jenama yang berbeza di hujung depan? Bagaimana untuk melaksanakan fungsi memuat naik foto ahli-ahli fotografi tinggi jenama yang berbeza di hujung depan? Apr 04, 2025 pm 05:42 PM

Bagaimana untuk melaksanakan fungsi memuat naik foto jenama-jenama ahli fotografi yang berbeza di hujung depan apabila membangunkan projek-projek front-end, anda sering menghadapi keperluan untuk mengintegrasikan peralatan perkakasan. untuk ...

Bagaimana untuk mencapai kesan segmentasi dengan sempadan lengkung 45 darjah? Bagaimana untuk mencapai kesan segmentasi dengan sempadan lengkung 45 darjah? Apr 04, 2025 pm 11:48 PM

Petua untuk melaksanakan kesan segmen dalam reka bentuk antara muka pengguna, Segmenter adalah elemen navigasi biasa, terutamanya dalam aplikasi mudah alih dan laman web responsif. …

Adakah JavaScript Menamakan Spesifikasi Meningkatkan Isu Keserasian di Android Webview? Adakah JavaScript Menamakan Spesifikasi Meningkatkan Isu Keserasian di Android Webview? Apr 04, 2025 pm 07:15 PM

Spesifikasi Penamaan JavaScript dan Android ...

Bagaimana untuk memastikan bahagian bawah objek 3D ditetapkan pada peta menggunakan Mapbox dan Three.js di Vue? Bagaimana untuk memastikan bahagian bawah objek 3D ditetapkan pada peta menggunakan Mapbox dan Three.js di Vue? Apr 04, 2025 pm 06:42 PM

Cara menggunakan Mapbox dan Three.js di Vue untuk menyesuaikan objek tiga dimensi untuk memetakan sudut tontonan. Apabila menggunakan Vue untuk menggabungkan Mapbox dan Three.js, objek tiga dimensi yang dicipta perlu ...

Bagaimana cara menggunakan El-Table untuk melaksanakan pengelompokan meja, seret dan drop penyortiran di VUE2? Bagaimana cara menggunakan El-Table untuk melaksanakan pengelompokan meja, seret dan drop penyortiran di VUE2? Apr 04, 2025 pm 07:54 PM

Melaksanakan El-Table Table Group Drag dan Drop Sorting di VUE2. Menggunakan jadual el-meja untuk melaksanakan seretan kumpulan dan penyortiran drop dalam VUE2 adalah keperluan biasa. Katakan kita mempunyai ...

See all articles