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条回答

    报告相同问题?

    悬赏问题

    • ¥20 蓝牙耳机怎么查看日志
    • ¥15 Fluent齿轮搅油
    • ¥15 八爪鱼爬数据为什么自己停了
    • ¥15 交替优化波束形成和ris反射角使保密速率最大化
    • ¥15 树莓派与pix飞控通信
    • ¥15 自动转发微信群信息到另外一个微信群
    • ¥15 outlook无法配置成功
    • ¥30 这是哪个作者做的宝宝起名网站
    • ¥60 版本过低apk如何修改可以兼容新的安卓系统
    • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏