Я сделал холст вот так,
<canvas id="mainCanvas" style="width:310px;height:212px;">
</canvas>
Затем попробуйте поместить png на холст в моем скрипте
var canvas=document.getElementById("mainCanvas");
var context = canvas.getContext("2d");
var img= new Image();
img.src = "img/player.png";
context.drawImage(img,0,0,310,212);
Мой размер player.png - 312 * 212, такой же, как размер холста.
Однако мой файл png расширен на холсте. Следовательно, правый край и нижний край выступают из полотна.
Почему мой png не подходит ??
2 ответа
Для всего холста должны быть указаны атрибуты ширины и высоты.
<canvas width="310" height="212"></canvas>
Ширина и высота не должны использовать пиксели. С использованием javascript:
var c = document.querySelector('canvas');
c.width=310;
c.height=212;// as Ken Fyrstenberg mentioned
Также обязательно дождитесь загрузки изображения.
img.onload(function(){
//drawimage
});
Вам нужно применять размер как атрибут, а не стили. Попробуй это:
<canvas id="mainCanvas" width="310" height="212">
</canvas>
Похожие вопросы
Связанные вопросы
Новые вопросы
html
HTML (язык гипертекстовой разметки) — это язык разметки для создания веб-страниц и другой информации, отображаемой в веб-браузере. Вопросы относительно HTML должны включать минимальный воспроизводимый пример и некоторое представление о том, чего вы пытаетесь достичь. Этот тег редко используется отдельно и часто в паре с [CSS] и [JavaScript].