Leinwand drehen, von unten in der Mitte Bildwinkel?
Wie Sie ein Bild drehen mit dem html5 canvas-element von der unteren Mitte Winkel?
<html>
<head>
<title>test</title>
<script type="text/javascript">
function startup() {
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
var img = new Image();
img.src = 'player.gif';
img.onload = function() {
ctx.translate(185, 185);
ctx.rotate(90 * Math.PI / 180);
ctx.drawImage(img, 0, 0, 64, 120);
}
}
</script>
</head>
<body onload='startup();'>
<canvas id="canvas" style="position: absolute; left: 300px; top: 300px;" width="800" height="800"></canvas>
</body>
</html>
Leider scheint dies, um es zu drehen, von der linken oberen Winkel des Bildes. Irgendeine Idee?
Edit: am Ende wird das Objekt (Raumschiff) sich zu drehen wie ein Uhrwerk Zeiger, als wenn es sich drehen rechts/Links.
code.google.com/p/explorercanvas Es wird Ihnen große cross-browser-Unterstützung, ist es nicht das gleiche, da für den IE, die Sie tatsächlich nutzen, VML
Siehe auch Verwendung von HTML5-Canvas-Drehung des Bildes Über Beliebigen Punkt
Siehe auch Verwendung von HTML5-Canvas-Drehung des Bildes Über Beliebigen Punkt
InformationsquelleAutor Tom | 2008-12-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erste, Sie haben zu übersetzen, um den Punkt, um den Sie möchten, zu drehen. In diesem Fall die Bild-Abmessungen sind 64 x 120. Zum drehen um die unten in der Mitte, die Sie übersetzen wollen, 32, 120.
Bringt Sie zu der unten in der Mitte des Bildes. Dann drehen Sie die Leinwand:
Dem drehen um 90 Grad.
Dann, wenn Sie zeichnen das Bild dieses versuchen:
? Funktioniert das?
Update: es gibt ein problem, obwohl, die linke Seite ist abgeschnitten erhalten wegen ot die Breite, denke ich. Irgendeiner Weise zu beheben, die aber trotzdem diese große Winkel?
Sieht aus wie ich es behoben, durch Einstellung der ctx.übersetzen(232, 120); - Einstellung Ihre Antwort als akzeptierte Antwort 🙂
können Sie bitte schauen Sie in stackoverflow.com/questions/17487277/.... vielen Dank:)
InformationsquelleAutor Vincent Ramdhanie
Die richtige Antwort ist, natürlich, Vincent.
Ich fummelte ein wenig mit dieser rotation/translation Ding, und ich denke, dass meine kleine Experimente interessant sein könnte, um zu zeigen:
Mein stolpern Problem war, dass die Positionierung der gedrehten Figur ist schwer, denn es ist entlang der Achse gedreht: entweder haben wir einige trigo Mathematik, um Farbe an die primitive Herkunft, oder wir ziehen auf eine sekundäre versteckte Leinwand und dann malen Sie es auf das Ziel ein.
Es sei denn, jemand anderes hat eine bessere Idee?
InformationsquelleAutor PhiLho
Habe ich dieses, wenn ich brauchte, um zu drehen, Texte angefangen von Ihren angegebenen Punkt (in der Mitte)?
InformationsquelleAutor
InformationsquelleAutor