2012-10-02 118 views
0

我将一些CF 2.0 VB.Net应用程序移植到具有两倍屏幕分辨率的手机的较新版本。所以我必须把所有东西的尺寸加倍,否则它会被挤压到屏幕的左上角。使用位图有什么好处吗?

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

对我来说,这似乎是一件容易的事情:将所有Bitmaps转换为Gif(或JPG),并获得相同的结果作为磁盘空间的一小部分(并且可能更快的表单加载时间)。

但有没有人知道你会使用位图优先于GIF/JPEG的情况?我找不到任何。

+0

不回答你的问题,但.png通常会提供稍微好一点的压缩.gif – AlfonsoML

+0

谢谢,我会试试看。 – DeanOC

+1

请记住,这些压缩图像必须先解压缩才可以使用。如果您的设备具有100K的可用RAM,则50K的JPEG或PNG可能会导致您的应用在使用过程中耗尽内存。 – jp2code

回答

2

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

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

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

准确地说,当将图像存储在主内存中时,您更愿意使用位图,因此您可以轻松地在代码中处理数据。当你使用图像库加载文件时,实际上你最有可能已经拥有了这个功能。

1

为了剪短故事短片,将BMP存储为一系列像素及其颜色。如果你想做模式识别,运动检测等等,这很有用。

位图通常用于他们的方便 - 你可以在没有专业图形软件的情况下将其中的一个敲入。