Я видел сглаживание в Windows с помощью GDI +, Java, а также с помощью Photoshop и Gimp. Существуют ли какие-либо другие библиотеки, предоставляющие возможности сглаживания, в зависимости от поддержки операционной системы хоста?Альтернативы сглаживания
ответ
Antigrain Geometry обеспечивает сглаживание графики в программном обеспечении.
AGG - это действительно красиво! –
Существует (часто называемый, кстати, но это мертвая лошадь), многие подходы к сглаживанию, которые могут быть использованы. В зависимости от того, что вы знаете об исходном сигнале и о том, что предназначено для использования, разные вещи, скорее всего, дадут вам желаемый результат.
«Поддержка ОС хоста», вероятно, наиболее разумна, если вывод осуществляется через объекты отображения ОС, так как они имеют наибольшую информацию о том, что делается с изображением.
Я полагаю, что это долгий вопрос, что вы на самом деле пытаетесь сделать? Многие графические библиотеки обеспечат некоторую форму сглаживания, независимо от того, будут ли они соответствовать, во многом зависит от того, чего вы пытаетесь достичь.
Как отметил Саймон, термин «сглаживание» неправильно используется/злоупотребляется довольно регулярно, поэтому всегда полезно знать, что именно вы пытаетесь сделать.
Поскольку вы упоминаете GDI, я предполагаю, что вы говорите о сохранении хороших четких краев при изменении их размера - так что что-то вроде символа в шрифте выглядит чистым и не пикселированным при изменении размера его 2x или 3x, это оригинальный размер , Для такого рода вещей, которые я использовал технику в прошлом под названием альфа-тестирование увеличение - вы можете прочитать здесь официальный документ:
http://www.valvesoftware.com/publications/2007/SIGGRAPH2007_AlphaTestedMagnification.pdf
Когда я реализовал его, я использовал более чем один самолет, так что я мог получить лучшие края на всех типах объектов, но он кратко охватывает это в конце. Из всех подходов (которые я использовал) для поддержания качества при масштабировании векторных изображений это было самым простым и самым высоким качеством. Преимуществом этого является то, что он легко реализуется в аппаратных средствах. С точки зрения существующего API лучше всего использовать OpenGL или Direct3D - на самом деле это требует только билинейного фильтрования и текстуры для выполнения того, что он делает, чтобы вы могли катиться самостоятельно (я имел в прошлом). Если вы всегда имеете дело с прямоугольниками и только нужно делать масштабирование, это довольно тривиально, и добавление вращения не добавляет такой сложности. Если вы действительно катитесь самостоятельно, обязательно обратите особое внимание на позиционирование субпикселя (как вы разрешаете позиции пикселей, которые не попадают на полный пиксель, так как это имеет решающее значение для качества, а иногда и не учитывается.
Надеюсь, что это поможет!
+1 потому что это дало мне представление, которое могло бы ответить на мой собственный вопрос htt p: //stackoverflow.com/questions/1957901/antialiased-composition-by-coverage лучше –
Вы действительно должны быть более конкретными с тем, что вы хотите делать с изображениями, требующими сглаживания ... –
Я использую вызовы GDI для создания чертежа. Я пытаюсь уменьшить эффект лестницы при рисовании текстовых и косых линий. Свойство SmoothingMode действительно помогает, но я хотел бы видеть, дают ли другие библиотеки лучшее сглаживание/производительность. –