vue使用Canvas在畫(huà)布上添加圖片方式
使用Canvas在畫(huà)布上添加圖片
首先在template 里面創(chuàng)建一個(gè)dom
<div style="display:none"> ? ? <img ref="conf0" src="../../assets/image/tx.jpg"> </div>
然后畫(huà)圖代碼 這樣寫(xiě)
// 獲取Canvas 畫(huà)圖
let myCanvas = this.$refs.myCanvas
var ctx = myCanvas.getContext('2d')
?
// 在Canvas畫(huà)布 添加圖片
var img = this.$refs.conf0
img.onload = () => {
? ctx.drawImage(img, 0, 0)
}使用canvas在圖片上加上文字
<template>
<div>
<img src=""
alt=""
id="newimage"
style="width:278px;height:298px">
<canvas id="canvas"
width="278"
height="298">
</canvas>
</div>
</template>
<script>
export default {
data () {
return {
}
},
mounted () {
this.newImage('123#')
},
methods: {
newImage (text) {
// 生成圖片
var imageBox = document.getElementById("newimage")
var canvas = document.getElementById("canvas")
var cxt = canvas.getContext("2d")
var img = new Image()
img.src = require('@/assets/louceng.png')
// 圖片加載完成,才可處理
img.onload = () => {
// 畫(huà)圖(這里畫(huà)布與圖片等寬高)
cxt.drawImage(img, 0, 0)
// 設(shè)置字體大小
cxt.font = "36px Microsoft YaHei"
// 更改字號(hào)后,必須重置對(duì)齊方式,否則居中麻煩。設(shè)置文本的垂直對(duì)齊方式
cxt.textBaseline = 'middle'
cxt.textAlign = 'center'
// 距離左邊的位置
var left = canvas.width / 2
// 距離上邊的位置 (圖片高-文字距離圖片底部的距離)
var top = canvas.height * 0.14
// 文字顏色
cxt.fillStyle = "#ffffff"
// 文字在畫(huà)布的位置
cxt.fillText(text, left, top)
imageBox.src = canvas.toDataURL("image/jpg")
// this.flag = 1
}
},
}
}
</script>總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue生命周期和鉤子函數(shù)的詳解與經(jīng)典面試題
Vue生命周期是指vue實(shí)例對(duì)象從創(chuàng)建之初到銷(xiāo)毀的過(guò)程,vue所有功能的實(shí)現(xiàn)都是圍繞其生命周期進(jìn)行的,下面這篇文章主要給大家介紹了關(guān)于Vue生命周期和鉤子函數(shù)的相關(guān)資料,需要的朋友可以參考下2021-10-10
解決vue3+vite配置unplugin-vue-component找不到Vant組件
這篇文章主要為大家介紹了vue3+vite配置unplugin-vue-component找不到Vant組件問(wèn)題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
vue element upload實(shí)現(xiàn)圖片本地預(yù)覽
這篇文章主要為大家詳細(xì)介紹了vue element upload實(shí)現(xiàn)圖片本地預(yù)覽,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08
VUE跨域問(wèn)題Access to XMLHttpRequest at
今天發(fā)現(xiàn)一個(gè)錯(cuò)誤,VUE發(fā)送請(qǐng)求的時(shí)候不能請(qǐng)求到正確數(shù)據(jù),VUE跨域問(wèn)題Access to XMLHttpRequest at,本文就詳細(xì)的來(lái)介紹一下解決方法,感興趣的可以了解一下2022-05-05
vue + echarts實(shí)現(xiàn)中國(guó)省份地圖點(diǎn)擊聯(lián)動(dòng)
這篇文章主要介紹了vue + echarts實(shí)現(xiàn)中國(guó)地圖省份點(diǎn)擊聯(lián)動(dòng),需要的朋友可以參考下2022-04-04
基于Vue3自定義實(shí)現(xiàn)圖片翻轉(zhuǎn)預(yù)覽功能
這篇文章主要為大家詳細(xì)介紹了如何基于Vue3自定義實(shí)現(xiàn)簡(jiǎn)單的圖片翻轉(zhuǎn)預(yù)覽功能,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,有需要的小伙伴可以參考一下2023-10-10
vue中實(shí)現(xiàn)點(diǎn)擊變成全屏及縮放功能
這篇文章主要介紹了vue中實(shí)現(xiàn)點(diǎn)擊變成全屏及縮放功能,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08
Vue使用高德地圖選點(diǎn)定位搜索定位功能實(shí)現(xiàn)
這篇文章主要介紹了Vue使用高德地圖選點(diǎn)定位搜索定位功能,文中給大家提到了常見(jiàn)問(wèn)題解決方法,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-10-10

