【发布时间】:2010-12-12 23:33:38
【问题描述】:
我需要将 16 位 XRGB1555 转换为 24 位 RGB888。我的函数如下,但它并不完美,即 0b11111 的值将给出 248 作为像素值,而不是 255。此函数适用于小端,但可以轻松修改为大端。
public static Color XRGB1555(byte b0, byte b1)
{
return Color.FromArgb(0xFF, (b1 & 0x7C) << 1, ((b1 & 0x03) << 6) | ((b0 & 0xE0) >> 2), (b0 & 0x1F) << 3);
}
任何想法如何使它工作?
【问题讨论】: