2

我想知道image.src它是如何存储在浏览器中的。

它是否存储了准备在屏幕上显示的像素数组?然后这让我想知道为什么我们不能将这个像素数据without绘图访问到画布并以这种方式获取像素信息?

图像数据必须存储在内存中供浏览器使用,为什么不能直接查询图像的某个像素,而只能先绘制呢?

4

3 回答 3

2

没有标准来定义浏览器如何维护图像,并且由于浏览器的设计目的是不允许您了解其内部实现,因此您真的无法按照您的要求进行操作......

于 2012-12-12T20:59:42.850 回答
1

实际上,浏览器如何在内存中存储图像与 Web 开发人员无关。这是一个实现细节。这就像询问操作系统内核如何决定它在 RAM 中的哪个位置分配程序内存——对于大多数应用程序来说,这根本不重要;内核只是给你内存。

唯一重要的是提供给您的公开记录的 API。对于 DOM API,获取像素数据的方法是通过画布 API。

于 2012-12-12T21:00:39.847 回答
0

历史原因。图像元素最初设计只是为了显示图像。多年后添加了 canvas 元素,以使开发人员能够访问图像和其他媒体对象中的数据。

在更高的层次上,如果您对浏览器如何实现其图像标签的内部管道感兴趣,Firefox 和 Chrome 的源代码是开放的以供检查。

于 2012-12-12T21:15:23.670 回答