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], ALInc EBXDec EDX ; Position src ptr so we're at the green value.Mov AL, Byte Ptr [EDX]Mov Byte Ptr [EBX], ALInc EBXDec EDX ; Position src ptr so we're at the blue value.Mov AL, Byte Ptr [EDX]Mov Byte Ptr [EBX], ALInc EBXAdd EDX, 3 ; Position src ptr for next loop..EndIfDec ECXCmp ECX, 0JNE 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).]