Я пытаюсь изменить размер изображения на основе размера холста. Мой код ниже. Проблема в том, что когда я пытаюсь drawImage(), он рисует отлично, но пиксели искажаются внутри изображения. Любая помощь была бы высоко оценена! Я пытался сделать много вещей, как манипулируя пикселей, используя холст ImageData, но не повезло вообще :(Как масштабировать изображение динамически с использованием холста
var imgURL = $('img#AS0017CF5A').attr('src');
imgH = $('img#AS0017CF5A').height();
imgW = $('img#AS0017CF5A').width();
$('img#AS0017CF5A').parent().attr('id','pImg');
$('img#AS0017CF5A').hide();
imageObj = new Image();
imageObj.onload = function(ev) {
document.getElementById('pImg').innerHTML = '<canvas id="myCanvas" width="' + imgW + '" height="' + imgH + '"></canvas>';
var toto = document.getElementById("myCanvas");
var c = toto.getContext("2d");
c.drawImage(imageObj, 0, 0, imgW, imgH);
//context.drawImage(imageObj, 0, 0, imageObj.width, imageObj.height, 0, 0, imgW, imgH);
};
imageObj.src = imgURL;
Он по-прежнему не работает. изображение, которое визуализируется в холст имеет некоторый текст размыта в он выступает против того, как он отображается при визуализации в теге изображения. Пожалуйста помоги!!! :( – ArinCool
Есть ли у вас пример, который не работает? Когда вы печатаете ширину/высоту своего холста в своей функции onload, они такие же, как размер вашего изображения? – Razouille
Я попытался отредактировать вопрос выше с кодом, который я использовал после ответа ур.Когда я создаю холст динамически, я пытался сделать это с требуемой высотой и шириной шкалы, а затем рисовал изображение с одинаковой высотой и шириной. – ArinCool