LUA实现代码,效率不够高,不过可以使用。
[C] 纯文本查看 复制代码 function SwitchStr(stryy, len)
local r
local g
local b
local str44
local str55
local byte0
local byte1
local pixel
local Color16
local i
str44=""
print("转换数据中")
for i=1, len//2, 1 do
byte0, byte1 = string.byte(stryy, 2*i-1, 2*i)
pixel = byte1*256+byte0
r = ((pixel & 0xF800) >> 11)
g = ((pixel & 0x07E0) >> 5)
b = (pixel & 0x001F)
--16 bpp Bitmaps in windows are 555: rrrrrgggggbbbbb
--r = ( r * 31 + 127) // 255
--g = ( g * 31 + 127) // 255
--b = ( b * 31 + 127) // 255
Color16 = (b << 11) | (g << 5) | r
byte1 = Color16//256
byte0 = Color16%256
str55 = string.format("%c%c", byte0, byte1)
str44 = str44..str55
end
return str44
end
RGB效果:
BGR效果:
|