Как избежать автопротяжения Холста HTML

У меня есть следующая часть 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>

Проблема - то, что оттянутое изображение автоматически расширяется (измененное) пропорционально с размером холста. Я попытался использовать все доступные параметры (drawImage(i, 0, 0, 20, 20, 0, 0, 20, 20)) и это не помогло.

Что заставляет мой рисунок простираться и как я могу предотвратить это?

Спасибо,
Tom

23
задан Tom 23 May 2010 в 14:08
поделиться

1 ответ

Вам потребуются атрибуты width и height в элементе холста. Они определяют пространство координат для холста. По-видимому, по умолчанию используется холст с соотношением сторон 2: 1, который ваш CSS искажает в квадрат.

36
ответ дан 29 November 2019 в 00:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: