try this, I've updated the unit and refactored it....unable to test it because I do not have Lazarus installed and Delphi does not have that TRGB32Bitmap class....http://filebeam.com/aac2781e878589afdd56a03a380d92b7
it *should* work now, the pointer arithmetic was translated incorrectly....