javascript - 将图像存储在内存中 - ImageData vs Image Element
问题描述
假设我必须从服务器下载一系列图像(例如 200 个)并将它们保存在内存中。到目前为止,我尝试过的两种方法是:
let images = []
// in async loop
...
let image = new Image()
image.src = src
let images.push(image);
...
let images.push(image);
对比
let images = [];
let canvas = document.createElement('canvas');
let ctx = canvas.getContext('2d');
// in async loop
let image = await loadImage(); // load image from server
canvas.width = img.width;
canvas.height = img.height;
ctx.drawImage(image, 0, 0, canvas.width, canvas.height);
let imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
let images.push(imageData);
在这两种情况下,我都将图像元素或 imageData 对象保存在一个数组中。在内存消耗等方面,一种方法会比另一种更好吗?
解决方案
推荐阅读
- jquery - 如何使用 .on() 传递 2 个参数?
- c# - dbml linq 中 where 子句中比较日期的问题
- r - 是否可以使用 group by 和 tidy 将多级模型 (lme) 拟合到重复测量/纵向数据?
- java - 如何在 Spring Data Mongo DB Aggregation 中投影数组元素字段
- java - Criteria API 不执行查询
- node.js - Google App Engine ManagedSSL 不工作
- javascript - Bxslider 字幕动画
- r - 在 r 中重塑数据分组
- angular - 在 MEAN Stack 应用程序中从 mongo db 检索数据
- android - NoSuchMethodError 用于混淆的 openCV 库