关于指针的问题,对高手来说应该不是问题。
lpbi是一个BITMAPINFO类型的指针,计算图像数据位置的函数原型:
LPSTR FindDIBBits( LPSTR lpbi )
{
return ( lpbi + *(LPDWORD)lpbi + PaletteSize( lpbi ) );
}
我转换为pascal:
function FindDIBBits( pbi: LPSTR ):LPSTR;
begin // 本函数有疑问: *(LPDWORD)pbi = (PDWORD(pbi))^ ?
result := pbi + (PDWORD(pbi))^ + PaletteSize( pbi );
end;
问题是我转换的对吗?
另外,原形中为什么要加上*(LPDWORD)lpbi ?
直接return ( lpbi + PaletteSize( lpbi ) );才对啊!