[Lazarus] TFPImageCanvas and TFreeTypeFont colors

Leonardo M. Ramé l.rame at griensu.com
Sat May 11 19:16:21 CEST 2013


On 2013-05-11 09:45:14 +0200, Michael Van Canneyt wrote:
> 
> 
> 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...
> 

Hopefully someone find a fix to it...


-- 
Leonardo M. Ramé
http://leonardorame.blogspot.com




More information about the Lazarus mailing list