博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Canvas旋转图片--保持相同大小的算法
阅读量:6213 次
发布时间:2019-06-21

本文共 512 字,大约阅读时间需要 1 分钟。



function drawImg(angle)

{
    canvas.width = canvas.width;

    var distance = size / 2 * Math.sqrt(2) * Math.sin(angle * Math.PI / 180 / 2) * 2;

    var degree = 180 - 45 - (180 - angle) / 2;
    var x = distance * Math.sin(degree * Math.PI / 180);
    var y = distance * Math.cos(degree * Math.PI / 180);

    ctx.translate(x, -y);

    var angleInRadians = angle * Math.PI / 180;
    ctx.rotate(angleInRadians);

    ctx.drawImage(img, 0, 0, 32, 32);

    ctx.restore();
}

第一步是清空画板,重点是找到旋转后图片相原方的中心,其计算公式是我自己写的。计算distnace那个。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

你可能感兴趣的文章
Ubuntu 无法mount解决办法
查看>>
详解 Discuz 的 PHP经典加密解密函数 authcode
查看>>
使用curl命令查看访问url的时间
查看>>
WinForm中跨线程操作控件
查看>>
下MFC中对象、句柄、ID之间的区别.
查看>>
如何构建Win32汇编的编程环境(ONEPROBLEM个人推荐)
查看>>
Flymeos插桩适配教程
查看>>
还在用PS磨皮去皱?看看如何用神经网络高度还原你的年轻容貌!
查看>>
大端模式与小端模式、网络字节顺序与主机字节顺序
查看>>
微信支付申请90%的商户都卡在这儿了,申请微信支付,商户功能设置详细说明...
查看>>
高仿Instagram 页面效果android特效
查看>>
2016 年总结
查看>>
将String转化成Stream,将Stream转换成String
查看>>
java路径Java开发中获得非Web项目的当前项目路径
查看>>
【工具使用系列】关于 MATLAB 遗传算法与直接搜索工具箱,你需要知道的事
查看>>
Kali-linux Arpspoof工具
查看>>
PDF文档页面如何重新排版?
查看>>
基于http协议使用protobuf进行前后端交互
查看>>
bash腳本編程之三 条件判断及算数运算
查看>>
php cookie
查看>>