JS中canvas画布绘制中如何实现缩放,位移,旋转

JavaScript023

JS中canvas画布绘制中如何实现缩放,位移,旋转,第1张

cxt.scale(2,2) 缩放的是整个画布,缩放后,继续绘制的图形会被放大或缩小。ctx.translate(x,y) 方法重新映射画布上的 (0,0) 位置x: 添加到水平坐标(x)上的值 y: 添加到垂直坐标(y)上的值 发生位移后,相当于把画布的0,0坐标 更换到新的x,y的位置,所有绘制的新元素都被影响。 位移画布一般配合缩放和旋转等。context.rotate(angle) 方法旋转当前的绘图 注意参数是弧度(PI) 如需将角度转换为弧度,请使用 degrees*Math.PI/180 公式进行计算。

<div class="upload-img-box" ref="moveWrap">

<div class="show-box" ref="rotate" @mousedown="moveImg" @mousewheel.prevent="rollImg($event,)">

<img :src="singleList.fileImgUrl" class="uploadimg" ref="img" :style="{transform:'scale('+multiples/100+') rotate('+rotate +'deg)'}"/>

</div>

<div class="img-plus" @click="toBIgChange()"><span class="tip">放大</span></div>

<div class="img-minus" @click="toSmallChange()"><span class="tip">缩小</span></div>

<div class="img-rotate" @click="toRotate()"><span class="tip">旋转</span></div>

</div>

用js控制图片额大小。主要是修改图片的宽度和高度。下面是简单的代码实现:

HTML 代码:

<img src='../1.jgp' id='img' />

这个时候img的图片自身是多大,就会显示多大。100px*100px的图。

js代码:

var oImg = document.getElementById('img')

oImg.width = '50px' //当给img标签的宽度设置为50px后,高度会自动按比例缩小。

oImg.width = '200px' //当给img标签的宽度设置为200px后,高度会自动按比例扩大。