Я пытаюсь сгладить рендеринг текста с помощью сглаживания. Но это не сглаживание.Сглаживание шрифта с использованием cairo
http://tinypic.com/r/2h7dy1i/4 http://oi38.tinypic.com/2h7dy1i.jpg
Первая строка является PNG изображение, созданное с помощью Pango и Каиром. Вторая строка - это только тег 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);
Может кто-нибудь пожалуйста, скажите мне, как я могу сделать эти две строки выглядят одинаково ?
Я буду использовать этот код для создания изображения на моем сервере под управлением Debian lenny. Люди увидят это на своем мониторе. И у меня нет способа узнать, какой монитор они будут использовать. Поэтому из вашего ответа мне кажется, что если используется VRGB, сгенерированное изображение будет выглядеть сглаженным на дисплее, совместимом с VRGB. И это будет плохо выглядеть на другом дисплее. Я прав?? –
То, что у вас есть, является правильным. Сравните с этим: http://meta.stackexchange.com/questions/65398/disable-cleartype-subpixel-rendering-for-image-based-flair –
Итак, Firefox также определяет мой тип отображения. Затем используется опция совместимого субпиксельного антиалиаса. Если да. как узнать, какой вариант antialias использует firefox? и как я имитирую то же поведение в моем скрипте, чтобы, по крайней мере, в моем компьютере, я вижу, что он сглажен правильно. –