【发布时间】:2017-12-15 13:49:59
【问题描述】:
我目前正在用 JavaScript 开发一个 2D 图形库,现在我坚持处理背景纹理转换问题。
我想将画布上下文 (CanvasRenderingContext2D) 的背景纹理 (属性 fillStyle) 设置为图像 (CanvasPattern)。
将图像分配给fillStyle 很容易。
但唯一的问题是,图像实际上无法平移、缩放或倾斜。
我查了 MDN,上面说有一个原型叫做setTransform()。
使用此 API,您可以通过 SVGMatrix 转换图像,这似乎有点烦人。
您不仅需要创建一个冗余的 <svg> 元素,而且它还是一个实验性 API,并且无法在 Google Chrome 中运行。
使用常规方法是不可能解决的。 有什么“hacky”方法可以做到这一点吗?
【问题讨论】:
-
您可以通过单独使用变换来独立于路径变换填充,首先创建路径,然后在创建路径后将变换设置为您想要的模式然后填充..例如@ 987654328@
标签: javascript canvas svg transform ecmascript-5