[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [ft] How to draw FT_Bitmap to the ARGB image?
From: |
John Found |
Subject: |
Re: [ft] How to draw FT_Bitmap to the ARGB image? |
Date: |
Wed, 4 Nov 2015 00:08:00 +0200 |
Hi. Thanks for the answer.
On Tue, 3 Nov 2015 20:44:27 +0100
Wojciech Mamrak <address@hidden> wrote:
> Assuming C is non-pre-multiplied by alpha:
> Fr = Fr/255 * Ca
> Dr = Cr * Fr + Dr * (1 - Fr)
> Da = Ca + Da * (1 - Ca)
>
> Assuming C is pre-multiplied by alpha:
> Fr = Fr/255
> Dr = Cr * Fr + Dr * (1 - Fr * Ca)
> Da = Ca + Da * (1 - Ca)
>
Here is something wrong with these equations. (or with my understanding...)
If we have fully transparent background:
Da = 0, Drgb = 0
and black color:
Ca = 1, Crgb = 0
...then regardless of the values of Frgb, the result is always:
Drgb=0 and Da = 1;
i.e. we get black rectangles instead of glyphs.
See the attachment for example. On this picture, the result bitmap is later
blended on gray background in order to make the result visible.
> 2015-11-03 15:26 GMT+01:00 John Found <address@hidden>:
> > I need to draw text on a transparent image with format ARGB, pre-multiplied
> > alpha.
> >
> > The rendered FT_Bitmap has format FT_PIXEL_MODE_LCD and I want the glyph to
> > be displayed in some color with transparency.
> >
> > So, for every pixel I have 3 numbers:
> >
> > Da, Dr, Dg, Db - destination pixel ARGB (the background image).
> > Fr, Fg, Fb - FreeType rendered pixel (FT_Bitmap rendered with
> > FT_RENDER_MODE_LCD)
> > Ca, Cr, Cg, Cb - The color I want the glyph to be drawn.
> >
> > So, the question: How to properly combine these 3 numbers in order to get
> > the result bitmap pixel.
> >
> > A theory and math are welcome. If I understand the theory, I can write the
> > code.
> >
> > Best Regards.
> > --
> > http://fresh.flatassembler.net
> > http://asm32.info
> > John Found <address@hidden>
> >
> > _______________________________________________
> > Freetype mailing list
> > address@hidden
> > https://lists.nongnu.org/mailman/listinfo/freetype
--
http://fresh.flatassembler.net
http://asm32.info
John Found <address@hidden>
black_glyphs.png
Description: Binary data
- [ft] How to draw FT_Bitmap to the ARGB image?, John Found, 2015/11/03
- Re: [ft] How to draw FT_Bitmap to the ARGB image?, Wojciech Mamrak, 2015/11/03
- Re: [ft] How to draw FT_Bitmap to the ARGB image?,
John Found <=
- Re: [ft] How to draw FT_Bitmap to the ARGB image?, Wojciech Mamrak, 2015/11/03
- Re: [ft] How to draw FT_Bitmap to the ARGB image?, John Found, 2015/11/04
- Re: [ft] How to draw FT_Bitmap to the ARGB image?, Wojciech Mamrak, 2015/11/04
- Re: [ft] How to draw FT_Bitmap to the ARGB image?, John Found, 2015/11/05
- Re: [ft] How to draw FT_Bitmap to the ARGB image?, Wojciech Mamrak, 2015/11/05
- Re: [ft] How to draw FT_Bitmap to the ARGB image?, John Found, 2015/11/05
- Re: [ft] How to draw FT_Bitmap to the ARGB image?, Wojciech Mamrak, 2015/11/05
- Re: [ft] How to draw FT_Bitmap to the ARGB image?, John Found, 2015/11/05
- Re: [ft] How to draw FT_Bitmap to the ARGB image?, Lawrence D'Oliveiro, 2015/11/05
- Re: [ft] How to draw FT_Bitmap to the ARGB image?, John Found, 2015/11/05