Это скриншот текста, набранного в текстовом редакторе:

Это тот же текст в большем размере.

Обратите внимание на то, насколько заметен псевдоним на буквенных диагональных штрихах, таких как xи z. Эта проблема является основной причиной, по которой растровые шрифты потеряли популярность для таких «масштабируемых» форматов, как TrueType.
Но, возможно, это не проблема, связанная с растровыми шрифтами, просто с тем, как обычно осуществляется их масштабирование. Вот альтернативный рендеринг с использованием простой билинейной интерполяции в сочетании с пороговым определением .

Это гладко, но не идеально. Диагональные штрихи по - прежнему неровные, и изогнутые буквы , как cи oдо сих пор многоугольники. Это особенно заметно при больших размерах.
Так есть ли лучший способ?
Задание
Напишите программу, которая принимает три аргумента командной строки.
resize INPUT_FILE OUTPUT_FILE SCALE_FACTOR
где
- INPUT_FILE - это имя входного файла, который считается файлом изображения, содержащим черный текст на белом фоне. Вы можете использовать любой основной формат растровых изображений (PNG, BMP и т. Д.), Который вам удобен.
- OUTPUT_FILE - имя выходного файла. Это может быть формат растрового или векторного изображения. Вы можете ввести цвет, если выполняете субпиксельный рендеринг в стиле ClearType.
- SCALE_FACTOR - это положительное значение с плавающей точкой, которое указывает, насколько может быть изменено изображение. При заданном входном файле x × y px и коэффициенте масштабирования s выходные данные будут иметь размер sx × sy px (с округлением до целых чисел).
Вы можете использовать стороннюю библиотеку обработки изображений с открытым исходным кодом.
В дополнение к вашему коду включите примеры выходных данных вашей программы в масштабах 1.333, 1.5, 2, 3 и 4, используя мое первое изображение в качестве входных данных. Вы также можете попробовать его с другими шрифтами, в том числе пропорционально разнесенными.
счет
Это конкурс популярности. Запись с наибольшим количеством голосов минус побед победит. В случае точной ничьей побеждает более ранняя заявка.
Изменить : Срок продлен из-за отсутствия записей. TBA.
Избирателям рекомендуется судить, основываясь главным образом на том, насколько хорошо выглядят выходные изображения, а во-вторых, на простоте / элегантности алгоритма.





SCALE_FACTORВсегда ли > 1?