Как указывал Саймон, термин сглаживание используется регулярно / злоупотребляет довольно часто, поэтому всегда полезно точно знать, что вы пытаетесь сделать.
Поскольку вы упоминаете GDI, я предполагаю, что вы говорите о поддержании хороших четких краев при изменении их размера - поэтому что-то вроде символа в шрифте выглядит чистым и не пикселированным, когда вы изменяете его в 2 или 3 раза по сравнению с его оригинальным размером. Для такого рода вещей в прошлом я использовал технику, называемую увеличением в альфа-тестировании - вы можете прочитать документ здесь:
http://www.valvesoftware.com/publications/2007/SIGGRAPH2007_AlphaTestedMagnification.pdf
Когда я реализовал это, я использовал более одной плоскости, чтобы я мог получить лучшие края на всех типах объектов, но это кратко освещает это к концу. Из всех подходов (которые я использовал) для поддержания качества при масштабировании векторных изображений это было самое простое и высшее качество. Это также имеет то преимущество, что его легко реализовать на аппаратном уровне. С точки зрения API, лучше всего использовать OpenGL или Direct3D - при этом для достижения цели требуется только билинейная фильтрация и отображение текстуры, так что вы можете свернуть свою собственную (я это делал в прошлом). Если вы всегда имеете дело с прямоугольниками и вам нужно только масштабировать, это довольно тривиально, и добавление поворота не добавляет такой сложности. Если вы делаете свой собственный, убедитесь, что уделяете особое внимание позиционированию субпикселей (как вы разрешаете позиции пикселей, которые не попадают на полный пиксель, так как это критично для качества, а иногда и упускается из виду.
Надеюсь, это поможет!