★急问,4 bytes big endian (Mac style)格式转换为little endian的问题!顶者有分!★
现有一幅raw灰色图片,是4 bytes big endian (Mac style)格式,请问怎么转换为little endian的格式?以及怎样转成bmp它才会正常显示?
[解决办法]
无语,这么简单的位运算问题,到了现在居然成了难题
function BSWAP4B(n:Cardinal):Cardinal;
begin
Result:= (n shr 24)
or ((n shr 8) and $0000FF00)
or ((n shl 8) and $00FF0000)
or (n shl 24);
end;
如果是x86体系,还可以用bswap指令:
function BSWAP4B_ASM(n:Cardinal):Cardinal;
asm
mov eax, n // 将变量加载到EAX寄存器
bswap eax // 字节交换
// EAX是函数返回值
end;
[解决办法]
一次性读取到内存,然后用指针操作数据
如果图片太大,也可以每次提取一扫描行的图像数据
[解决办法]
帮不上忙,帮顶还是可以的
[解决办法]
我顶我顶我顶顶顶
[解决办法]
关注
[解决办法]
帮顶!^-^