mirror of https://github.com/mpv-player/mpv
Partial fix for semitransparent glyph outlines.
This fix removes semitransparent area (less then pixel width) between glyph and it's outline. Instead, it makes them overlap a little. It usually looks much better this way. Complete fix seems impossible with the current output format (single color alpha bitmaps). The right way is to blend both glyph and outline into one bitmap so that 2 pixels with 50% transparency produce a fully solid one. This requires RGBA bitmap output from libass. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20890 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
89b0172dce
commit
4a27cb5876
|
@ -219,7 +219,7 @@ static bitmap_t* fix_outline_and_shadow(bitmap_t* bm_g, bitmap_t* bm_o)
|
||||||
unsigned char c_g, c_o;
|
unsigned char c_g, c_o;
|
||||||
c_g = g[x];
|
c_g = g[x];
|
||||||
c_o = o[x];
|
c_o = o[x];
|
||||||
o[x] = (c_o > c_g) ? c_o - c_g : 0;
|
o[x] = (c_o > c_g) ? c_o : 0;
|
||||||
s[x] = (c_o < 0xFF - c_g) ? c_o + c_g : 0xFF;
|
s[x] = (c_o < 0xFF - c_g) ? c_o + c_g : 0xFF;
|
||||||
}
|
}
|
||||||
g += bm_g->w;
|
g += bm_g->w;
|
||||||
|
|
Loading…
Reference in New Issue