html5 矩阵转换,HTML5画布转换矩阵

这篇博客探讨了HTML5 Canvas中的变换矩阵及其应用。通过示例代码展示了如何使用`translate`、`transform`和`setTransform`方法进行图形变换,包括颜色渐变和旋转效果。最后,通过重置变换矩阵并应用负缩放实现图形的翻转。
摘要由CSDN通过智能技术生成

HTML5 canvas提供了允许直接修改转换矩阵的方法。转换矩阵最初必须是身份转换。然后可以使用转换方法对其进行调整。

t变换(m11,m12,m21,m22,dx,dy)方法必须将当前变换矩阵与-所描述的矩阵相乘m11 m21 dx

m12 m22 dy

0   0  1

的setTransform(M11,M12,M21,M22,DX,DY)的方法必须重置当前变换单位矩阵,然后调用与相同参数的变换(M11,M12,M21,M22,DX,DY)方法。HTML>

function drawShape(){

// get the canvas element using the DOM

var canvas = document.getElementById('mycanvas');

// Make sure we don't execute when canvas isn't supported

if (canvas.getContext){

// use getContext to use the canvas for drawing

var ctx = canvas.getContext('2d');

var sin = Math.sin(Math.PI/6);

var cos = Math.cos(Math.PI/6);

ctx.translate(200, 200);

var c = 0;

for (var i=0; i <= 12; i++) {

c = Math.floor(255 / 12 * i);

ctx.fillStyle = "rgb(" + c + "," + c + "," + c + ")";

ctx.fillRect(0, 0, 100, 100);

ctx.transform(cos, sin, -sin, cos, 0, 0);

}

ctx.setTransform(-1, 0, 0, 1, 200, 200);

ctx.fillStyle = "rgba(100, 100, 255, 0.5)";

ctx.fillRect(50, 50, 100, 100);

} else {

alert('You need Safari or Firefox 1.5+ to see this demo.');

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值