Katy93,
тебе надо уменьшить картинку, чтобы она вписалась в некоторый прямоугольник?
сначала вычисляем целевые размеры картинки:
function resizeToBounds(imgW, imgH, boundsW, boundsH) {
if (imgW <= boundsW && imgH <= boundsH) {
return null;
}
var rw = boundsW / imgW;
var rh = boundsH / imgH;
var r = Math.min(rw, rh);
return {
width: Math.round(imgW * r),
height: Math.round(imgH * r)
};
}
если это вернет null, то уменьшать не надо.
иначе создаем вспомогательную канву с такими размерами, кидаем на неё картинку методом drawImage с кучей параметров - 3 вариант отсюда
https://developer.mozilla.org/ru/doc...xt2D/drawImage
потом просто сохраняем вспомогательную канву.
кстати у канвы есть метод toBlob, обычно он более подходящий чем toDataURL