gwm4230670 2014-10-14 11:46
浏览 2121

canvas 中怎么对旋转过的图片进行部分截取显示。

现在遇到这样一个问题。先上代码
var xpos = 300;
var ypos = 200;
ctx.save();
ctx.translate(xpos, ypos);
ctx.rotate( Math.PI / 12);
ctx.translate(-xpos, -ypos);
ctx.drawImage(myImage, 0 ,0 ,30,30,xpos - myImage.width / 2, ypos - myImage.height / 2,50,50);
ctx.restore();

我用的图片大小是50*50的现在想实现的效果是把这张图片旋转30度以后,在旋转好的图片上截取0到30的距离然后再显示出来。但是上面这段代码是先把图片截取0-30的部分然后才旋转30。不是我想实现的效果。
如果实现我想要的效果应该怎么做。请不要用把这张图片画在一个30*30的canvas上然后把这个canvas转化成图片的src这种方式来实现。这种方式的效率太低了。我要频繁的进行操作。哪位大神能帮帮忙

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置
    • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
    • ¥15 对于相关问题的求解与代码
    • ¥15 ubuntu子系统密码忘记
    • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
    • ¥15 保护模式-系统加载-段寄存器
    • ¥15 电脑桌面设定一个区域禁止鼠标操作
    • ¥15 求NPF226060磁芯的详细资料
    • ¥15 使用R语言marginaleffects包进行边际效应图绘制