我正在尝试使用消除锯齿来平滑文本渲染。 但它没有消除锯齿。
http://tinypic.com/r/2h7dy1i/4 http://oi38.tinypic.com/2h7dy1i.jpg
第一行是使用pango和cairo创建的png图像。
第二行只是一个html <span>
标记。它位于firefox,Ubuntu和Gnome DE。
如果比较“W”和“v”,可以更好地理解差异
在两行之间。
负责绘制文字的代码可在http://pastie.org/1073683找到 字体选项设置在第17行和第20行,如下所示:
// setting up antialiasing
cairo_font_options_set_antialias(cfo, CAIRO_ANTIALIAS_GRAY);
// set the font options to cairo
cairo_set_font_options(this->cro, cfo);
有人可以告诉我怎样才能使这两行看起来一样?
答案 0 :(得分:2)
cairo_font_options_set_antialias(cfo, CAIRO_ANTIALIAS_GRAY);
你问过它,你知道了。要获得匹配,您需要CAIRO_ANTIALIAS_SUBPIXEL。但是,当您向可能在另一台计算机上显示的图像绘制文本时,这是不合适的。无法保证该机器上的显示器是具有可预测顺序的RGB条纹的LCD面板。或者它是横向的。或者它以精确的原始尺寸显示。如果不匹配,文本看起来会很差。