Yes, accessing the Colors property of TLazIntfImage is slow. However if you use GetDataLineStart, you can however scan each line more quickly. In this case, you need to make sure about the pixel format. You don't need to think about that with BGRABitmap because it is always 32-bit BGRA.