Как исправить огромные изображения, становящиеся черными на холсте - PullRequest
1 голос
/ 04 апреля 2019

Я работаю над сценарием загрузки холста, чтобы загружать огромные изображения для клиента. У меня все работает как надо, кроме одной проблемы. Огромные изображения не работают. Цель состоит в том, чтобы иметь возможность загружать изображения размером около 20000x20000.

Изображения размером около 15000x15000 работают нормально, но большие - нет. Это даже не соответствует тому, каковы результаты. В основном они просто становятся черными, но иногда браузер просто останавливается и выдает страницу, на которой он перестал работать.

var oc = document.createElement('canvas'), octx = oc.getContext('2d');
oc.width = img.width;
oc.height = img.height;

var iStep = .9;

while (oc.width * iStep > width) {
        oc.width *= iStep;
        oc.height *= iStep;
    octx.drawImage(img, 0, 0, img.width, img.height, 0, 0, oc.width, oc.height);
    console.log('Resized to: height: ' + oc.height + '; width: '+oc.width);

}

oc.width = width;
oc.height = oc.width * img.height / img.width;

octx.drawImage(img, 0, 0, oc.width, oc.height);

sDataString = oc.toDataURL("image/jpeg", .8);

// Followed by an ajax upload

Загруженные изображения - это в основном произведения искусства около 20 тыс.

Ребята, у вас есть идеи, как я могу решить черные картинки?

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