我必须读取24bpp Bitmap
并将每个像素从RGB24
转换为ARGB16
。
我用了下面的代码,
#define ARGB16(a, r, g, b) ( ((a) << 15) | (r)|((g)<<5)|((b)<<10))
但我没有得到所需的输出。
任何帮助都将不胜感激。
最佳答案
把它拆开。让我们继续使用宏:
#define TRUNCATE(x) ((x) >> 3)
#define ARGB16(a,r,g,b) ((a << 15) | (TRUNCATE(r) << 10) | (TRUNCATE(g) << 5) | TRUNCATE(b)))
这假设alpha只是一个位。