【发布时间】:2017-11-02 01:04:22
【问题描述】:
我尝试使用 ctx.drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight); API 从精灵图像中提取图像。但是我发现 Canvas 会从我不想要的相邻图像中渲染边缘。
例如:
首先,我用一个800x400的画布画了400x400的红色矩形,红色矩形后画了400x200的绿色矩形,然后将数据保存为JPG文件。
然后我想提取绿色矩形绘制到另一个画布上,所以我使用这样的语法:
ctx.drawImage(this, 400, 0, 400, 400, 0, 0, 400, 400);
理论上,画布上只有绿色矩形的颜色数据,但左边有红色。
有谁知道造成这个问题的原因吗?我是否误解了 API?
提前致谢。
【问题讨论】:
-
不知道 api 有,但是你尝试在使用 drawImage 时从 1 开始而不是 0?
标签: javascript html canvas