我的目录中有一些图像(.bmp、.png、.jpg)。我想将此图像转换为 WORD 数组,以便以 565 格式(16 位像素)在 LCD 中显示此图像。如何将图像转换为 WORD 数组?请帮忙。是否有任何实用程序可以将图像转换为二进制?或者请在 Windows C/CPP 中提供一些代码以将其转换为二进制文件?
问问题
1736 次
2 回答
1
这在很大程度上取决于输入图像的确切格式。
只是将“转换为文字”并不能真正表达您想要做什么,这可能更像是“将位图图像转换为以行为主格式的 RGB565 像素数组”。
您应该查看允许您加载位图图像并读出每个像素值的图像处理库。
您可能可以直接转换为 RGB565,从任何其他位图格式都不会太难。
请注意,有索引和“真彩色”位图格式,听起来您需要同时处理这两种格式。如果幸运的话,每种格式的库都会将其抽象出来并具有例如uint32 read_pixel_as_rgb888()
功能。
另请注意,许多位图图像格式非常注重压缩,这就是为什么仅读取文件的位是不够的,您需要根据格式对数据进行解压缩。这是相当复杂的,这就是为什么预写库是唯一明智的选择。
对于 PNG,请查看libpng,对于 JPEG,请查看libjpeg。再想一想,这些库可能有点太低级了,也许你应该看看像SDL_Image这样的东西。
于 2012-04-11T10:02:38.623 回答
0
您可以尝试使用 CImg 打开图像文件 - http://cimg.sourceforge.net/
于 2012-04-11T10:11:57.017 回答