Canvas转换会转换drawImage

时间:2013-11-28 09:05:05

标签: javascript html5 canvas

我目前正致力于在http://game.mersholm.dk找到的游戏(纯粹是一种爱好) 我得到了很多很好的东西(变形,选择,运动,物体等)但是我只是无法破解的一个坚果。

我正在尝试使用drawimage添加等距建筑(试验)。当然,由于定义了变换矩阵,图像也经历了变换。这只会使图像旋转和旋转。

如果我重置矩阵,绘制图像并再次设置矩阵,它会将我的屏幕分解为世界坐标计算。

如何在没有用矩阵旋转的情况下向世界添加等距图形?

最好的问候。 纳斯

1 个答案:

答案 0 :(得分:1)

使用变换绘制图像时的正确方法是:

  • 保存上下文。
  • 重置上下文的转换。
  • 转换到您将开始绘制图像的屏幕点。
  • 应用图像所需的变换:rotate / scale / skew。
  • 在(0,0)处绘制图像。
  • 恢复上下文。

如果您对上下文的状态有信心,请不要重置它。但是,如果你没有重置上下文 - 它更快 - 只需确保根据当前的比例/变换使用世界OR屏幕坐标。