[fpc-pascal] Questions regarding FPImage's TFPMemoryImage.FData variable

Graeme Geldenhuys mailinglists at geldenhuys.co.uk
Thu May 26 14:46:52 CEST 2016


On 2016-05-26 13:22, Michael Van Canneyt wrote:
> Yes it does, but this is very slow.

Probably due to Colors array usage. ;-)


> Yes. But sometimes it is all you've got; e.g. when drawing on an image.

Just so that others know, the 3rd party image library I’m using is
AggPas. AggPas (like most other image libraries I would guess) uses
ScanLine or pointers to bytes to speed up the manipulation of pixel data.

With FPImage’s Colors array the pixel offsets in FData need to be
calculated with every pixel accessed. That is a huge speed penalty.


> For completeness, in fpImage: when doing 16 bit image, then
>    (16-bit color value)=(8-bit color value) shl 8 + (8-bit color value)

Ah, so it duplicates the 8-bit value to fill the 16-bit Word. That also
explains the rendered output I see - why my current code is partially
working with AggPas.

ps:
  Is anybody working, on or started at least, documenting FPImage yet?


Regards,
  Graeme

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp



More information about the fpc-pascal mailing list