javascript - Opera 中奇怪的 Canvas 旋转

标签 javascript canvas html5-canvas opera

我用 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/

相关文章:

javascript - SELECT2 -> 添加数据而不替换内容

javascript - 我怎样才能用纯javascript做jquery的$.get? (不想返回任何东西)

Javascript/将输入数据保存到表格单元格中

javascript - 如何删除使用 AJAX 动态加载的 JavaScript

javascript - 如何使用 html 或 javascript 将光标样式设置为圆圈

JavaScript 上下文翻译在 Electron 中不起作用

canvas - IE 8 Canvas 使用 excanvas polyfill : no errors, 但动画未在 IE 8 上运行

javascript - 如何在createjs中屏蔽视频

jquery - 如何在单击时转换分组的 Canvas 元素?

javascript - 在纯 JavaScript 中旋转三 Angular 形