2015-11-19 2 views
0

Я хочу, чтобы это изображение было на моем холсте, но оно растягивается и не подходит к коробке правильно. Что мне не хватает?холст фонового изображения растягивается

Вот мой код:

var canvas = document.getElementById("canvas"), 
    ctx = canvas.getContext("2d"); 


var img = new Image(); 
img.src = "my image url"; 

img.onload = function(){ 
    ctx.drawImage(img,0,0); 
} 

Пожалуйста, проверьте это изображение: http://i.stack.imgur.com/RMZM2.png

То, что я хочу, это мой логотип помещается в поле холста.

Вот весь мой логотип: http://i.stack.imgur.com/4jFjM.png

+0

Только часть изображения логотипа находится в холсте, а не весь логотип. – user3657517

+0

Перед созданием обратного вызова 'onload' вы должны установить размеры холста для копий изображения. – hindmost

+0

Моя ширина полотна отзывчива ... пожалуйста, проверьте мое приложение здесь: http://bit.ly/1SYiniX – user3657517

ответ

0

Если вы хотите, чтобы ваше изображение, чтобы соответствовать с в Canvas-

ctx.drawImage(img,0,0,imgWidth,imgHeight,x,y, canvas.width, canvas.height); 

где х и у является верхнее левое положение, где вы хотите, чтобы вывести свой логотип. imgWidth и imgHeight - это ширина и высота вашего логотипа соответственно.

enter image description here

см это изображение. http://www.html5canvastutorials.com/tutorials/html5-canvas-image-crop/

+0

попробовал это: ctx.drawImage (img, 0,0,489,200,0,0, canvas.width , canvas.height); – user3657517

+0

, но он идет пустым пространством. – user3657517

+0

Я действительно получил его, просто столкнувшись с небольшой проблемой. Я использовал это: ctx.drawImage (img, 0,0, canvas.width, canvas.height); Но мое изображение логотипа приближается к 300x150 только в любом размере экрана. Можете ли вы помочь мне, почему это так? – user3657517

Смежные вопросы