I have taken this so far:
Assume I get the correct palette index of the 8bit image by checking a pixel from a ScanLine in the 8bit DIB
col:=scan(DXD_Scratch.DIB.ScanLine[y]^)[X];
Then, I get the correct colour as an RGBQuad from the DIB colour table like:
q:=DXD_Scratch.DIB.ColorTable[col];
I have checked col and q and both contain the correct data, so all that remains is setting the pixel of the 16bit DXDraw surface.
I have tried all ways I can find to get the target pixel the right colour, but no luck... I am pulling my hair out :x
Bookmarks