我正在使用画布上载脚本为客户端上载大图像。除了一个问题,我一切都按需要进行。巨大的图像不起作用。目标是能够上传大约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
上传的图像大多是约2万画质的艺术品。
你们俩对我如何解决黑色图像有任何想法吗?