Juste pour le plaisir et à des fins d'apprentissage, j'écris actuellement une application de peinture basée sur javascript, mais j'ai rencontré un petit problème avec le code de dessin de la forme ovale .Opera: Problèmes de dessin d'un ovale en JavaScript
Voici mon code, réduit à une simple fonction ovale:
function Oval(context, x, y, radiusX, radiusY, color, filled) {
if ((radiusX === 0) || (radiusY === 0)) {
return;
}
context.save();
context.translate(x, y);
if (radiusX !== radiusY) {
context.scale(1, radiusY/radiusX);
}
context.beginPath();
context.arc(0, 0, radiusX, 0 , 2 * Math.PI);
context.closePath();
context.restore();
if (filled === true) {
context.fillStyle = color;
context.fill();
} else {
context.strokeStyle = color;
context.stroke();
}
}
var ctx = c.getContext("2d");
Oval(ctx, 150, 150, 100, 149, "#663399", false);
<canvas id="c" width="300" height="300"></canvas>
Cela fonctionne bien dans les versions stables actuelles de Firefox, Chrome, Internet Explorer et Safari. Mais Opera ne semble pas aimer ça. Quel pourrait être le problème?
cool, ça marche :) merci :) – terabaud
Wow, Opera vraiment foiré sur celui-là. Je suis sûr que cela a commencé dans Opera 11 parce que mes applications existantes ont cessé de dessiner des cercles récemment. –