画布变换变换drawImage
Canvas transformation transforms drawImage
我目前正在开发一款游戏(纯粹是一种爱好),该游戏位于http://game.mersholm.dk大多数事情我都做得很好(转换、选择、移动、物体等),但有一个问题我无法解决。
我正在尝试使用drawimage添加一个等轴测建筑(实验)。当然,由于所定义的变换矩阵,图像也经历变换。这只会使图像旋转。
如果我重置矩阵,绘制图像并再次设置矩阵,它将打破我的屏幕,进行世界坐标计算。
如果不使用矩阵旋转等轴测图形,我该如何向世界添加这些图形?
致以最良好的问候。乔纳斯
用变换绘制图像的正确方法是:
- 保存上下文
- 重置上下文的转换
- 转换到将开始绘制图像的屏幕点
- 应用图像所需的变换:旋转/缩放/扭曲
- 在(0,0)处绘制图像
- 恢复上下文
如果你对上下文的先前状态有信心,请不要重置它。但是,如果你不重置上下文(速度更快),请确保根据当前缩放/变换使用世界或屏幕坐标。
相关文章:
- 为什么在许多浏览器中drawImage()的性能略好于createPattern()
- html5 drawImage适用于firefox,而不是chrome
- drawimage到一个单独的画布宽度和高度
- 使用KineticJS变换(移动/缩放/旋转)形状
- 动态创建的画布上的DrawImage
- 使用drawImage()在画布上输出固定大小的图像
- 如何在html画布上替换ByImage()而不是drawImage()(忽略不透明度)
- 布料模拟+图像上的画布变换
- d3用时钟中的两个指针变换原点
- iframe覆盖onclick变换
- 如何使用拉斐尔自由变换翻转图像
- 更改“;比例尺;CSS中的属性“;变换”;
- 远距离变换元素的宽度/高度(以像素为单位)
- 如何使用CSS变换将动量/惯性添加到拖动中
- HTML5 Canvas drawImage ratio bug iOS
- 时间序列统计(如相关性、傅里叶变换)
- 在iPad上使用touchmove移动图像(css3变换)
- 添加变换比例后,我可以't将剖面设置为居中
- drawImage() in fabric js
- 画布变换变换drawImage