摘要:本文主要介绍了用canvas实现图像镜面翻转的两种方法,并通过示例代码进行了详细介绍,对大家的学习或工作有一定的参考价值。和有需要的朋友一起学习吧。

1.翻翻canvas自己的canvas方法。

var img=new Image();//这是img标签的dom对象

img.src=’。/sy . png ‘;

img.onload=function () {

//图片加载后,执行此方法。

ctx.drawImage(img,posx,posy,210,80);

};

play.addEventListener(‘click ‘,function () {

ctx.clearRect(0,0,canvas.width,canvas . height);//清除画布

//位移来做镜像翻转

ctx.translate(210 posx * 2,0);

ctx.scale(-1,1);//翻转左右后视镜

//ctx.translate(0,160 posy * 2);

//ctx.scale(1,-1);//顶部和底部镜面翻转

ctx.drawImage(img,0,0,210,80);

});

2.像素镜像翻转法。

//垂直像素反转

函数imageDataVRevert(sourceData,newData) {

for (var i=0,h=sourceData.heightI h;i ) {

for (var j=0,w=sourceData.widthj w;j ) {

newData.data[i * w * 4 j * 4 0]=

sourcedata . data[(h-I)* w * 4j * 40];

newData.data[i * w * 4 j * 4 1]=

sourcedata . data[(h-I)* w * 4j * 41];

newData.data[i * w * 4 j * 4 2]=

sourcedata . data[(h-I)* w * 4j * 42];

newData.data[i * w * 4 j * 4 3]=

sourcedata . data[(h-I)* w * 4j * 43];

}

}

返回newData

}

关于在画布上实现图像镜像翻转的两种方法,本文到此结束。有关画布中图像镜像翻转的更多信息,请在脚本之家搜索以前的文章或继续浏览下面的相关文章。希望大家以后多多支持剧本之家!

来源:剧本之家

链接:https://www.jb51.net/html5/736624.html

发表回复

后才能评论