Изменение размера изображения с использованием JAVAScript, возвращающего пустое изображение - PullRequest
0 голосов
/ 23 октября 2018

Я пытаюсь написать JAVAScript, который возьмет некоторое изображение base64 и вернет измененную версию изображения.Я написал этот код.Но он возвращает пустое изображение.Я много искал в гугле.Но получаю любое решение.Вот сценарий.

Кроме того, как я могу изменить размер изображения с максимальной шириной и максимальной высотой?

function resizeImage(dataurl) {
var canvas = document.createElement('canvas');
var context = canvas.getContext('2d');
var imageObj = new Image();


imageObj.onload = function() {
  context.drawImage(imageObj, 100, 100);
};
imageObj.src = dataurl; 
var pngUrl = canvas.toDataURL();

return pngUrl;
}

Ответы [ 2 ]

0 голосов
/ 23 октября 2018
context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height);

Если мы просто используем первый параметр, результат должен быть заполнен 100 вокруг изображения, а не пустым.Там может быть кеш браузера для изображения, вот решение.

var imageObj = new Image();
imageObj.src = dataurl + (new Date().getIime());
imageObj.onload = function() {
   context.drawImage(imageObj, 100, 100);
};
0 голосов
/ 23 октября 2018

попробуйте изменить параметры метода:

 context.drawImage(imageObj,0 ,0, 100, 100);

, потому что первые два параметра - это позиция, а третий и четвертый - размер.Не забудьте дать новому холсту ту же ширину и высоту измененного изображения, чтобы избежать потери изображения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...