js实现图片滚轮、按钮缩放大小,图片旋转,图片拖拽

JavaScript035

js实现图片滚轮、按钮缩放大小,图片旋转,图片拖拽,第1张

<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>

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 公式进行计算。

题目:

给定一个 n × n的二维矩阵表示一个图像。

将图像顺时针旋转 90 度。

说明:

你必须在[原地]旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。

刚开始我大概看了下,就是把矩阵中第n列反序后作为n行,那这就很简单了,我是这么写的:

最后返回的矩阵排序是正确的,不过最后去校验的时候发现是在原来的矩阵里调整,那也简单,我把久的矩阵的值改成和新矩阵相同就可以了:

我这种解法只是发现了这个规律,如果不让用新矩阵作为桥梁,不知还会有那些解法