首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

★问,4 bytes big endian (Mac style)格式转换为little endian的有关问题!顶者有分!

2012-03-04 
★急问,4 bytes big endian (Mac style)格式转换为little endian的问题!顶者有分!★现有一幅raw灰色图片,是4

★急问,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;

[解决办法]
一次性读取到内存,然后用指针操作数据

如果图片太大,也可以每次提取一扫描行的图像数据

[解决办法]
帮不上忙,帮顶还是可以的
[解决办法]
我顶我顶我顶顶顶
[解决办法]
关注
[解决办法]
帮顶!^-^

热点排行