在没有任何库的情况下从像素值获取 RGB 通道
我正在尝试获取从图像中读取的每个像素的 RGB 通道。我通过从图像中读取每个字节来使用 getchar。所以在我在网上做了一些搜索后,我发现了 BMP 例如颜色数据在 36 字节之后开始,我知道每个通道是 8 位,整个 RGB 是 8 位红色,8 位绿色和8 点蓝色。我的问题是如何从像素值中提取它们?
例如:
pixel = getchar(image);
我该怎么做才能提取这些频道?此外,我在 JAVA 上看到了这个示例,但不知道如何在 C++ 上实现它:
int rgb[] = new int[] {
(argb >> 16) & 0xff, //red
(argb >> 8) & 0xff, //green
(argb ) & 0xff //blue
};
我猜想 argb 是我之前提到的“像素”变量。
谢谢。