Javascript 在cavnas上绘制大PNG文件后产生噪音的图片
我在画布上绘制此(1766*2880)PNG文件时遇到问题。Javascript 在cavnas上绘制大PNG文件后产生噪音的图片,javascript,html,canvas,html5-canvas,Javascript,Html,Canvas,Html5 Canvas,我在画布上绘制此(1766*2880)PNG文件时遇到问题。 但我对那种大小的JPG格式或(1533*2500)大小的PNG文件没有任何问题。 对于缩放画布,我考虑 DEVICEXELXEXIG/,忽略比例没有变化。 问题在于图像(png)已损坏,或者其格式不受浏览器支持。使用图像编辑器,打开图像,如果没有损坏,将图像复制并粘贴到新图像中。使用任何标准png图像选项将其保存为png,然后尝试在上加载新图像。@Blindman67,我将该图像保存为多个大小,大小小于(1533*2500)没有问题
但我对那种大小的JPG格式或(1533*2500)大小的PNG文件没有任何问题。
对于缩放画布,我考虑<代码> DEVICEXELXEXIG/<代码>,忽略比例没有变化。
问题在于图像(png)已损坏,或者其格式不受浏览器支持。使用图像编辑器,打开图像,如果没有损坏,将图像复制并粘贴到新图像中。使用任何标准png图像选项将其保存为png,然后尝试在上加载新图像。@Blindman67,我将该图像保存为多个大小,大小小于(1533*2500)没有问题。因此,图像没有损坏。不,这是您的图形卡的问题。我有时也会有这种情况,因为我需要太多的东西(不仅仅是在浏览器中)。除了升级你的设备,你能做的不多。。。也许您可以尝试在浏览器中禁用硬件加速。如果您有一段时间没有更新图形卡驱动程序,您可以尝试更新图形卡驱动程序。
var loadImage = function (url) {
var ratio = Math.max(window.devicePixelRatio || 1, 1),
image = new Image();
image.onload = function () {
var paper = '#paper-0',
canvas = $(paper)[0],
ctx = canvas.getContext("2d"),
img = this;
var w = Math.ceil(img.width / ratio), h = Math.ceil(img.height / ratio);
$(paper).css({ width: w + 'px', height: h + 'px' });
canvas.width = w * ratio;
canvas.height = h * ratio;
ctx.scale(ratio, ratio);
ctx.drawImage(img, 0, 0, w, h);
}
image.src = url;
}