【问题标题】:Rotating an Image object before drawing on canvas - HTML在画布上绘制之前旋转图像对象 - HTML
【发布时间】:2018-06-02 08:30:04
【问题描述】:

我有一个像下面这样的 Image 对象:

imgObj = new Image();
imgObj.src = "http://localhost/images/img1.png";
imgObj.onload = function () {}

我想在单击按钮时在画布上绘制此图像。在每次单击时,图像都会在其上绘制,但我想在绘制之前旋转对象,因为我不希望结果翻倒,我需要以不同的方式看到它。

我在我的项目中使用 javascript 和 jQuery。那么有什么解决办法吗?

【问题讨论】:

  • 旋转图像(通过创建单独的画布并在其上旋转)会降低图像质量。最好使用画布变换将原件渲染到画布上以进行旋转。这将确保您每次渲染时都能获得最佳质量。
  • @Blindman67,我在画布中使用剪辑,当我旋转上下文时,它隐藏在剪辑下。想象一下,我有一个圆形裁剪的画布,当我旋转它时,内容会在裁剪层下。
  • 您必须显示所涉及的代码。除非您保存已旋转的图像,否则没有理由必须预先旋转图像。

标签: javascript jquery canvas html5-canvas


【解决方案1】:

这应该可行:

imgObj.style.transform = "rotate(90deg)"

它在图像对象上设置transform css 样式属性。

【讨论】:

  • 它不起作用。图像未出现在文档中。它是一个抽象对象。
  • 这可能对你有帮助:stackoverflow.com/a/6011402/1861779@BehnamAzimi
  • 仅供参考我的解决方案适用于 DOM,但可能不适用于 Canvas
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-11
  • 2021-02-14
  • 2015-11-03
  • 1970-01-01
  • 2021-11-05
  • 2016-11-21
  • 2013-11-06
相关资源
最近更新 更多