【问题标题】:how to replace getImageData & putImageData for better performance?如何替换 getImageData 和 putImageData 以获得更好的性能?
【发布时间】:2017-01-18 23:21:27
【问题描述】:

getImageData 对性能非常不利。我没有 png 或 jpg 文件。所以我在程序加载时制作了一张图片。我正在使用 iPhone 视网膜显示器开发应用程序。我需要你的帮助:(

我需要在运行时制作一个图像,我可以在其中重新使用某种变量

在视网膜显示器上,使用缓存画布会使图像像素化过大或过大。除非你知道如何解决?

var x = Math.max(document.documentElement.clientWidth, window.innerWidth || 0); //width of screen
var y = Math.max(document.documentElement.clientHeight, window.innerHeight || 0); // height of screen

if (x === 414 && y === 736) {
    imgData = ctx.getImageData(0,0,3*x,3*365*Yf);
} else {
    imgData = ctx.getImageData(0,0,2*x,2*365*Yf);
}

ctx.clearRect(0, 0, x, 365 * Yf); // size of Image, retina display quality
ctx.putImageData(imgData, 0, 0);

【问题讨论】:

  • 抱歉,您的问题具体是什么?很难从当前的措辞中辨别出来。
  • 是的.. 抱歉措辞不好:P...getImageDataputImageData 性能不佳,我需要一个替代方案。
  • 您可以将生成的图像存储为 HTMLImage,使用 URLObject 作为 src。这样您就可以使用drawImage 再次绘制它...

标签: javascript canvas getimagedata putimagedata


【解决方案1】:

使用drawImage(canvas) 比使用putImageData 快得多

不过,我不知道有任何更快的方法来getImageData

【讨论】:

    猜你喜欢
    • 2018-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-30
    • 2023-04-03
    • 2012-01-17
    • 1970-01-01
    相关资源
    最近更新 更多