[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