Dengan pembangunan aplikasi web yang berterusan, orang ramai mempunyai keperluan yang lebih tinggi dan lebih tinggi untuk halaman web Mereka bukan sahaja memerlukan halaman web yang cantik dan ringkas, tetapi juga memerlukan keupayaan untuk mencetak, menyimpan dan berkongsi. Jadi, di bawah keperluan sedemikian, bagaimana untuk menukar halaman Vue kepada imej?
Artikel ini akan memperkenalkan anda kepada tiga kaedah menukar halaman Vue kepada imej.
html2canvas ialah perpustakaan yang menjana tangkapan skrin kandungan dalam halaman web Ia boleh menukar keseluruhan halaman web atau elemen DOM yang ditentukan kepada imej. Untuk menggunakan html2canvas dalam projek Vue, anda hanya perlu memperkenalkan perpustakaan html2canvas.
Pasang html2canvas dalam projek Vue:
npm install --save html2canvas
Dalam halaman Vue yang perlu ditukar kepada imej, perkenalkan html2canvas:
import html2canvas from 'html2canvas'
Seterusnya, apabila ia perlu ditukar Dalam kaedah menukar imej kepada bahagian, gunakan html2canvas untuk menjana imej Kodnya adalah seperti berikut:
export default { methods: { async convertToImage() { try { const canvas = await html2canvas(this.$refs.content) // 在这里,将需要转换成图片的部分作为参数传入html2canvas const image = canvas.toDataURL() // 将生成的canvas转换为DataURL格式 console.log(image) // 可以将image保存到vuex或者调用保存图片的方法等 } catch (e) { throw new Error(e) } }, }, }
this.$refs.content
di sini adalah bahagian yang perlu. ditukarkan kepada imej dan boleh diubah suai mengikut situasi sebenar.
dom-to-image ialah pustaka lain yang menjana tangkapan skrin kandungan dalam halaman web Kaedah penggunaan adalah serupa dengan html2canvas . Untuk menggunakan dom-to-image dalam projek Vue, anda perlu memasang:
npm install --save dom-to-image
Dalam halaman Vue yang perlu ditukar kepada imej, perkenalkan dom-to-image:
import domToImage from 'dom-to-image'
Seterusnya, dalam kaedah yang perlu ditukar kepada gambar, gunakan dom-to-image untuk menjana gambar Kodnya adalah seperti berikut:
export default { methods: { async convertToImage() { try { const node = this.$refs.content // 需要转换成图片的部分 const dataUrl = await domToImage.toPng(node) // 将需要转换成图片的部分作为参数,调用toPng方法 console.log(dataUrl) // 可以将dataUrl保存到vuex或者调用保存图片的方法等 } catch (e) { throw new Error(e) } }, }, }
Begitu juga dengan <.> inilah bahagian yang perlu ditukar kepada gambar , yang boleh diubah suai mengikut situasi sebenar. this.$refs.content
export default { methods: { async convertToImage() { try { const component = new Vue(MyComponent) // 需要转换成图片的组件实例 const vm = component.$mount() // 将组件实例挂载到一个DOM元素上 const canvas = await html2canvas(vm.$el) // 对挂载后的元素使用html2canvas生成canvas const image = canvas.toDataURL() // 将canvas转换为DataURL格式 console.log(image) // 可以将image保存到vuex或者调用保存图片的方法等 } catch (e) { throw new Error(e) } }, }, }
Atas ialah kandungan terperinci Bagaimana untuk menukar halaman Vue kepada imej. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!