2

J'ai vu antialiasing sur Windows en utilisant GDI +, Java et aussi fourni par Photoshop et Gimp. Existe-t-il d'autres bibliothèques qui fournissent une fonctionnalité anti-crénelage sans dépendre du support du système d'exploitation hôte?Antialiasing alternatives

+1

Vous allez vraiment avoir à être plus précis avec ce que vous voulez faire avec les images qui nécessite un anti-aliasing ... –

+0

J'utilise les appels GDI pour générer un dessin, j'essaye de réduire l'effet d'escalier Lorsque vous dessinez du texte et des lignes inclinées, la propriété SmoothingMode est utile mais j'aimerais voir si d'autres bibliothèques offrent un meilleur lissage/performance –

Répondre

4

Antigrain Geometry fournit des graphiques anti-aliasés dans le logiciel.

+0

AGG est vraiment beau! –

0

Il existe (souvent mal nommé, btw, mais c'est un cheval mort) de nombreuses approches anti-aliasing qui peuvent être utilisées. Selon ce que vous savez sur le signal d'origine et l'utilisation prévue, différentes choses sont susceptibles de vous donner le résultat souhaité. Le «support du système d'exploitation hôte» est probablement le plus judicieux si la sortie passe par les fonctions d'affichage du système d'exploitation, car ils ont le plus d'informations sur ce qui est fait sur l'image.

Je suppose que c'est une longue façon de vous demander ce que vous essayez réellement de faire? De nombreuses bibliothèques graphiques fourniront une forme d'anti-crénelage, qu'elles soient appropriées ou non dépend beaucoup de ce que vous essayez d'obtenir.

3

Comme simon l'a souligné, le terme anti-aliasing est mal utilisé/abusé assez régulièrement, il est donc toujours utile de savoir exactement ce que vous essayez de faire. Puisque vous parlez de GDI, je suppose que vous parlez de maintenir de beaux bords nets lorsque vous les redimensionnez - donc quelque chose comme un caractère dans une police semble propre et non pixélisé lorsque vous le redimensionnez 2x ou 3 fois sa taille d'origine . Pour ce genre de choses que j'ai utilisé une technique dans le passé appelé grossissement alpha-test - vous pouvez lire ici le livre blanc:

http://www.valvesoftware.com/publications/2007/SIGGRAPH2007_AlphaTestedMagnification.pdf

Quand j'implémenté, je plus d'un plan pour que je puisse obtenir de meilleurs bords sur tous les types d'objets, mais cela couvre brièvement vers la fin. De toutes les approches (que j'ai utilisées) pour maintenir la qualité lors de la mise à l'échelle des images vectorielles, c'était la plus simple et la plus haute qualité. Cela a aussi l'avantage d'être facilement implémenté dans le matériel. D'un point de vue API existant, votre meilleur pari est d'utiliser soit OpenGL ou Direct3D - cela étant dit, il faut seulement filtrer bilinéairement et texture mappé pour accomplir ce qu'il fait, donc vous pouvez rouler le vôtre (je l'ai fait dans le passé). Si vous travaillez toujours avec des rectangles et que vous n'avez besoin que d'effectuer une mise à l'échelle, c'est plutôt trivial, et l'ajout de rotation n'ajoute pas beaucoup de complexité. Si vous faites rouler le vôtre, assurez-vous de porter une attention particulière au positionnement du sous-pixel (comment résoudre les positions de pixel qui ne tombent pas sur un pixel complet, car cela est essentiel pour la qualité et parfois négligé.)

Hope that helps!

+0

+1 parce que ça m'a donné une idée qui pourrait répondre à ma propre question htt p: //stackoverflow.com/questions/1957901/composition-antiquentielle-par-release mieux –