使用cairo进行字体平滑处理

时间:2010-10-17 13:38:11

标签: c firefox fonts antialiasing cairo

我正在尝试使用消除锯齿来平滑文本渲染。 但它没有消除锯齿。

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);

有人可以告诉我怎样才能使这两行看起来一样?

1 个答案:

答案 0 :(得分:2)

cairo_font_options_set_antialias(cfo, CAIRO_ANTIALIAS_GRAY);

你问过它,你知道了。要获得匹配,您需要CAIRO_ANTIALIAS_SUBPIXEL。但是,当您向可能在另一台计算机上显示的图像绘制文本时,这是不合适的。无法保证该机器上的显示器是具有可预测顺序的RGB条纹的LCD面板。或者它是横向的。或者它以精确的原始尺寸显示。如果不匹配,文本看起来会很差。

相关问题