[Lazarus] LazIntfImage and OSX

Wolfram Söns wolfram at soens.de
Tue Jul 6 07:35:55 CEST 2010


Hi Marc,

I access the pixel data directly via FPColor:=TLazIntfImage.Colors[x,y]

Even if there is a difference in the internal layout, with using this function it should be correct anyway.
Or am I missing something here?

The DataDescription of the TLazIntfImage:

Mac:

Format=ricfRGBA 
HasPalette->False 
HasMask->False 
Depth=24 
Width=320 
Height=216 
BitOrder=riboReversedBits 
ByteOrder=riboMSBFirst 
LineOrder=riloTopToBottom 
LineEnd=rileDQWordBoundary 
BitsPerPixel=32 
BytesPerLine->1280 
RedPrec=8 RedShift=16 
GreenPrec=8 GreenShift=8 
BluePrec=8 BlueShift=0 
AlphaPrec=0 
AlphaShift=0 ~~~mask~~~ 
MaskBitsPerPixel=0 
MaskShift=0 
MaskLineEnd=rileByteBoundary 
MaskBitOrder=riboReversedBits 
MaskBytesPerLine->0 ~~~palette~~~ 
PaletteColorCount=0 
PaletteBitsPerIndex=0 
PaletteShift=0 
PaletteLineEnd=rileTight 
PaletteBitOrder=riboBitsInOrder 
PaletteByteOrder=riboLSBFirst 
PaletteBytesPerLine->0



Windows:

Format=ricfRGBA 
HasPalette->False 
HasMask->False 
Depth=24 
Width=320 
Height=216 
BitOrder=riboReversedBits 
ByteOrder=riboLSBFirst 
LineOrder=riloTopToBottom 
LineEnd=rileDWordBoundary 
BitsPerPixel=24 
BytesPerLine->960 
RedPrec=8 
RedShift=16 
GreenPrec=8 
GreenShift=8 
BluePrec=8 
BlueShift=0 
AlphaPrec=0 
AlphaShift=0 ~~~mask~~~ 
MaskBitsPerPixel=0 
MaskShift=0 
MaskLineEnd=rileWordBoundary 
MaskBitOrder=riboReversedBits 
MaskBytesPerLine->0 ~~~palette~~~ 
PaletteColorCount=0 
PaletteBitsPerIndex=0 
PaletteShift=0 
PaletteLineEnd=rileTight 
PaletteBitOrder=riboBitsInOrder 
PaletteByteOrder=riboLSBFirst 
PaletteBytesPerLine->0

Am 06.07.2010 um 01:40 schrieb Marc Weustink:

> Wolfram Söns wrote:
>> Hello Mark, thanks for your replies.
>> "I suspect that the colour representation varies, possibly depending on the system properties as interpreted by the TImage object."
>> I think its something in that direction.
>> "Noting your earlier "in timage windows and mac are the same, in tlazintfimage only windows shows the correct values.", I'd suggest posting both with an indication of which is which.
>> No, the Image is the same in both cases. I'll ry to explain it again:
>> There are uncrompressed bitmaps or jpgs as additional thumbnail views inside of almost any file of a digital camera.
>> I read this files and extract this pictures into a TBitmap for later use.  When I show this bitmap (for example with a TImage Component on a form) anything is fine.
>> Then I try to read out the RGB Values from this bitmap again, the difference is the following:
>> - When I read the values directly out from the Bitmap, it works (Windows and Mac)
>> - When I use a TLazIntfImage for performance reasons here (and after filling the LazIntfImage with TLazIntf.LoadFromBitmap... ) then only the Windows version still shows the correct RGB valuesm which I get with FPColor.red and so on.
>> I hope you could understand my problem. 
> 
> How do you access the pixel data ? Did you notice LazIntfImage.Description ?
> 
> On Mac and Windows thre is a different order of the RGB components
> 
> Marc
> 
> 
> --
> _______________________________________________
> Lazarus mailing list
> Lazarus at lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20100706/40887f96/attachment-0004.html>


More information about the Lazarus mailing list