So vermeiden Sie die automatische Ausdehnung von HTML-Canvas

Habe ich das folgende Stück HTML:

<style type="text/css">
    #c{width:200px;height:500px}
</style>
<canvas id="c"></canvas>
<script type="text/javascript">
    var i = new Image();
    i.onload = function () {
        var ctx = document.getElementById('c').getContext('2d');
        ctx.drawImage(i, 0, 0);
    }
    i.width = i.height = 20; //actual size of square.png
    i.src = 'square.png';
</script>

Das Problem ist, dass das gezeichnete Bild automatisch gestreckt (Größe) proportional mit der Größe der Leinwand. Ich habe versucht, mit allen verfügbaren Parametern (drawImage(i, 0, 0, 20, 20, 0, 0, 20, 20)) und das hat nicht geholfen.

Was die Ursache für meine Zeichnung zu Strecken und wie kann ich das verhindern?

Dank,

Tom

InformationsquelleAutor der Frage Tom | 2010-05-23

Schreibe einen Kommentar