获取FreeImage像素数据格式
Get FreeImage pixel data format?
这是一个简单的问题,但我似乎无法在文档的任何地方找到答案。我知道FreeImage支持1, 4, 8, 16, 24, and 32+ bit
图像。但除此之外,文档提到16 bit
图像可以是555
或565
格式。我想知道其他图像位深度存储为什么格式?或者如果格式是任意的,是否有一种方法可以动态地从FreeImage库中检索格式?
在FreeImage中很容易确定555 vs 565模式:
unsigned red_mask, green_mask, blue_mask;
red_mask = FreeImage_GetRedMask(dib);
green_mask = FreeImage_GetGreenMask(dib);
blue_mask = FreeImage_GetBlueMask(dib);
if (FreeImage_GetBPP(dib) == 16)
{
if ((red_mask == FI16_565_RED_MASK) &&
(green_mask == FI16_565_GREEN_MASK) &&
(blue_mask == FI16_565_BLUE_MASK))
{
// We are in RGB16 565 mode
}
else
{
// We are in RGB16 555 mode
}
}
您可以使用FreeImage_ConvertTo16Bits555()
和FreeImage_ConvertTo16Bits565()
函数将其转换为所需的格式。
相关文章:
- 在C++中查找像素 RGB 数据的最快方法是什么?
- 如何返回定义良好的内存部分?例如来自图像数据的像素的颜色值
- 如何翻转像素数据的Y轴
- 通过信号槽发送QPixmap指针,空像素图数据
- 为什么更改视频格式会更改其像素值?
- 使用C++解码为ffmpeg中的特定像素格式
- 如何使用Qt读取我的应用程序屏幕像素数据
- 提取肮脏的RGB像素缓冲区数据Directx
- opencv::Mat,从原始数据中获取像素值
- 图像的像素格式始终返回 32 位
- 如何使用stb_image将像素颜色数据写入 BMP 图像文件?
- 如何在 QLabel 中以像素为单位放置颜色数据
- glew和glut您如何激活像素格式
- c++从hbitmap获取原始像素数据
- 未知像素格式错误SDL2
- 从位图图像文件读取像素数据值
- 如何选择DirectX像素格式
- 如何使用 Windows API 获取像素格式布局
- OpenGL从4*浮点格式(C++)上传像素数据
- 从指定坐标[x, y]处的位图数据获取像素颜色