画布变换变换drawImage

Canvas transformation transforms drawImage

本文关键字:变换 drawImage 布变换      更新时间:2023-12-14

我目前正在开发一款游戏(纯粹是一种爱好),该游戏位于http://game.mersholm.dk大多数事情我都做得很好(转换、选择、移动、物体等),但有一个问题我无法解决。

我正在尝试使用drawimage添加一个等轴测建筑(实验)。当然,由于所定义的变换矩阵,图像也经历变换。这只会使图像旋转。

如果我重置矩阵,绘制图像并再次设置矩阵,它将打破我的屏幕,进行世界坐标计算。

如果不使用矩阵旋转等轴测图形,我该如何向世界添加这些图形?

致以最良好的问候。乔纳斯

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

  • 保存上下文
  • 重置上下文的转换
  • 转换到将开始绘制图像的屏幕点
  • 应用图像所需的变换:旋转/缩放/扭曲
  • 在(0,0)处绘制图像
  • 恢复上下文

如果你对上下文的先前状态有信心,请不要重置它。但是,如果你不重置上下文(速度更快),请确保根据当前缩放/变换使用世界或屏幕坐标。