我用 Canvas 写了死板的简单绘图:
var angle = 20
var k = Math.sin(Math.PI / 180 * angle)
var scaleY = 0.5
var radius = 55
var pushBy = {x: 60, y: 60}
var drawArc = function (context) {
context.setTransform(1, -k, 0, scaleY, pushBy.x, pushBy.y)
context.beginPath()
context.arc(0, 0, radius, 0, Math.PI * 2)
context.stroke()
}
var canvas = $('canvas')
var context = canvas.getContext('2d')
drawArc(context)
实际上,它完全满足了我的需要:它绘制了一个旋转 20 度的扁平椭圆,但是......在 Opera 中不是。我还尝试了显式 rotate
,它也不起作用。在 Chrome 和 FF 中一切正常。
难道我做错了什么?有任何解决方法吗?
最佳答案
这看起来像是 Opera 中的一个错误。如果你看看我的http://jsfiddle.net/a6anq/5/网格在 Chrome 和 Opera 中都被正确翻译,但椭圆形不是。在运行 arc() 时,Opera 似乎没有考虑转换。
关于javascript - Opera 中奇怪的 Canvas 旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12848830/