0

我正在将一些 CF 2.0 VB.Net 应用程序移植到具有两倍屏幕分辨率的较新版本的手机上。所以我必须将所有东西的尺寸加倍,否则它们都会被挤压到屏幕的左上角。

一个屏幕有一个 250K 大小的位图,在我将尺寸翻倍之后,它自然会膨胀到 1 MB。这在手持设备上不是很好,所以我启动了 irfanview 并将其转换为 .GIF。.GIF 文件大小只有 60KB,图像质量没有明显变化。

对我来说,这似乎很简单:将所有位图转换为 Gif(或 JPG)并在一小部分磁盘空间中获得相同的结果(并且可能更快的表单加载时间)。

但是有谁知道你会优先使用位图而不是 GIF/JPEG 的情况?我找不到任何东西。

4

2 回答 2

2

我真的想不出任何现实的例子,你更喜欢位图而不是 GIF。由于 GIF 是一种无损格式,因此您在存储图像时不会丢失任何信息。因此,在您的应用程序中读取文件后,您将拥有与读取位图相同的图像数据。就像你说的:文件会更小,因此可能会更快地从磁盘读取。

JPEG 有所不同,因为它是一种有损格式,这意味着在其中存储图像时会丢失信息。您需要确定信息丢失在您的应用中是否有意义。

当且仅当从磁盘读取文件比在内存中解压缩文件更快时,位图才会更可取。

准确地说,在将图像存储在主内存中时,您会更喜欢位图,这样您就可以轻松地处理代码中的数据。当您使用图像库加载文件时,这实际上是您很可能已经拥有的。

于 2012-10-02T07:29:28.590 回答
1

长话短说,BMP 存储为一系列像素及其颜色。如果您想做诸如模式识别、运动检测等之类的事情,这将非常有用。

位图通常用于方便 - 您可以在没有专业图形软件的情况下在油漆中敲出一张。

于 2012-10-11T12:41:56.680 回答