Как улучшить результаты сглаживания в Каире (примеры показаны)

Построение проекта с использованием Cairo для обработки графики. Ни один из вариантов сглаживания не дает достаточно хорошего результата. Я использую поверхность ARGB32 и пишу в png.

Я попытался использовать все стили hinting, но я не вижу изменений в результате.

Лучшим вариантом для текста на белом и черном будет вариант 4, но, как вы можете видеть, он по-прежнему не так хорош, как результат, полученный из библиотеки imagemagick в примере 5.

Любые предложения или предложения приветствуются.

1. Использование "ANTIALIAS_DEFAULT"

example 1

2. Использование 'ANTIALIAS_NONE'

example 2

3. Использование 'ANTIALIAS_GRAY'

example 3

4. Использование 'ANTIALIAS_SUBPIXEL'

axample 4

5. Использование Imagemagick и его антиалиасинга по умолчанию

example 5

Ответ 1

Если вы застряли с Каиром, обходным решением будет ручная суперсэмплинг. В основном визуализируйте его с большим разрешением (в два или четыре раза больше ширины и высоты), а затем измените его размер до нужного размера.