[Lazarus] TFPImageCanvas and TFreeTypeFont colors

Michael Van Canneyt michael at freepascal.org
Sat May 11 09:45:14 CEST 2013



On Fri, 10 May 2013, Leonardo M. Ramé wrote:

> On 2013-05-10 21:53:21 +0200, Michael Van Canneyt wrote:
>>
>>
>> On Fri, 10 May 2013, Leonardo M. Ramé wrote:
>>
>>> On 2013-05-10 21:29:48 +0200, Michael Van Canneyt wrote:
>>>>
>>>> Can you produce a bitmap with just the text and see what that looks like ?
>>>>
>>>
>>> I've tried that, and the result is the same.
>>
>> Well. Normally TFPImage does not perform any transformation on the
>> bitmaps that the freetype engine produces: it just copies the result
>> to the bitmap it is treating. So if that bitmap is empty, you get
>> what FreeType produced.
>>
>> So this is rather strange to hear. Unfortunately, I do not know what to advise, except debugging :(
>>
>
> Well, maybe this can help. The background image is created from an RGBA
> 8bit pixel array, assigned to a TFPMemoryImage this way:
>
> FCanvasImage.Colors[lXPos, lYPos] :=
>  FPColor(
>    lBlue shl 8 + lBlue,
>    lGreen shl 8 + lGreen,
>    lRed shl 8 + lRed,
>    $ff shl 8 + $ff);
>
> lRed, lGreen and lBlue are of type byte, while FPColor needs word,
> that's why I have to do the calcs. Maybe the calcs are wrong.

They seem correct.

I don't think that the overlaying is wrong. I tend to think that the bitmap you get from 
freetype is somehow wrong...

Michael.


More information about the Lazarus mailing list