Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在cavnas上绘制大PNG文件后产生噪音的图片_Javascript_Html_Canvas_Html5 Canvas - Fatal编程技术网

Javascript 在cavnas上绘制大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)没有问题

我在画布上绘制此(1766*2880)PNG文件时遇到问题。
但我对那种大小的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;
}