Here's the situation: Both have been successfully allocated, with EDX pointing to the source of BGR (blue,green,red) byte triplets, and EBX pointing to an array that I need to fill with R,G,B byte triplets. ECX holds the size (width*height) of the bitmap.
Code:
BeginLoop:.If g_wBitsPerPixel == 24
Add EDX, 2 ; Position src ptr so we're at the red value.
Mov AL, Byte Ptr [EDX]
Mov Byte Ptr [EBX], AL
Inc EBX
Dec EDX ; Position src ptr so we're at the green value.
Mov AL, Byte Ptr [EDX]
Mov Byte Ptr [EBX], AL
Inc EBX
Dec EDX ; Position src ptr so we're at the blue value.
Mov AL, Byte Ptr [EDX]
Mov Byte Ptr [EBX], AL
Inc EBX
Add EDX, 3 ; Position src ptr for next loop..EndIf
Dec ECX
Cmp ECX, 0
JNE BeginLoop ; If ECX != 0 goto BeginLoop
Somewhere in there, an error is occuring. Any ideas?
------------------
~CGameProgrammer( );
[This message has been edited by CGameProgrammer (edited October 05, 1999).]






