ennixo
Messages postés224Date d'inscriptionsamedi 25 janvier 2003StatutMembreDernière intervention17 juin 2006 24 déc. 2004 à 07:30
je demande a voir =)
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 23 déc. 2004 à 15:16
Non ce n'est pas si chaud que cà, il faut utiliser une matrice :
1 0 -1
1 0 -1
1 0 -1
Puis une matrice
1 1 1
0 0 0
-1 -1 -1
Cela trace les contours normalement, et ensuite, il faut appliquer un flou sur les pixels des contours pour obtenir de l'antialiasing.
Note : cette source n'utilise pas de l'antialiasing comme mentionné ci-dessus, mais un filtre de flou uniquement car sur une image zoomé, le tracé des contours est loin d'être bon !
DarK Sidious
ennixo
Messages postés224Date d'inscriptionsamedi 25 janvier 2003StatutMembreDernière intervention17 juin 2006 23 déc. 2004 à 14:59
l'anticrénelage sur une image... sur une bitmap en tt cas c'est compliqué, le programme doit essayer de repérer des formes pour que ce soit efficace, sinon ce sera bizarre et/ou flou... et repérer des formes c'est chaud !!!
cs_moustachu
Messages postés1079Date d'inscriptionjeudi 14 novembre 2002StatutMembreDernière intervention 1 janvier 2012 22 déc. 2004 à 10:08
Un zoom à 1 ? Effectivement, ce n'est pas un Zoom :o)
Je me suis mal exprimé : c'est pour appliquer l'anti aliasing sur une image... sans besoin de l'agrandir. Peut-être existe-t-il d'autres moyens...
Merci de ta réponse
++
Moustachu
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 22 déc. 2004 à 10:02
Oui, c'est possible en modifiant les coefficients de la matrice de calcul de l'antialiasing. Cepandent, je n'ai pas prévu de fonctions pour le faire !
Mais je ne vois pas trop l'intérêt de faire un zoom de 1... ;)
DarK Sidious
cs_moustachu
Messages postés1079Date d'inscriptionjeudi 14 novembre 2002StatutMembreDernière intervention 1 janvier 2012 22 déc. 2004 à 09:36
Bonjour,
Encore une belle démo de ta classe.
J'ai une petite question, peut-être pas très pertinente car je ne me suis pas trop penché sur ton Algo :
Est-il possible d'avoir un anti aliasing plus ou moins "fort" ? Je m'explique : je souhaite appliquer l'antialiasing sans zoom (iZoom = 1) et je trouve que je perds trop de détails sur l'image résiduelle.
Merci et à ++
Moustachu
Saros
Messages postés921Date d'inscriptionvendredi 20 décembre 2002StatutMembreDernière intervention23 septembre 2010 3 nov. 2004 à 13:11
Non, il n'y aucune référence à cela dans la MSDN...
Que l'on fasse
Call X(args)
ou
X args
Le prog attend *toujours* que X aie terminé.
Ca m'étonne que ce ne soit pas le cas en VBA...
jmlucienvb
Messages postés129Date d'inscriptionmercredi 24 septembre 2003StatutMembreDernière intervention12 février 2009 3 nov. 2004 à 11:04
Il me semble que le call à une influence sur la continuation du programme...
Ce qui est à la suite de call attend que le sous prog aie terminé pour continuer...
Ceci est vrai en VBA , en Vb suis pas sûr...
JM
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 3 nov. 2004 à 10:57
Merci bilaloch, c'est sympa ;)
Sinon, le Call n'est pas obligatoire il me semble. Si on ne l'utilise pas ca ne change rien, mais c'est quand même plus rigoureux.
DarK Sidious
bilaloch
Messages postés556Date d'inscriptionlundi 6 octobre 2003StatutMembreDernière intervention31 octobre 20191 3 nov. 2004 à 10:50
DarK Sidious, 10/10. Bravo.
@ +
BILALoch
bilaloch
Messages postés556Date d'inscriptionlundi 6 octobre 2003StatutMembreDernière intervention31 octobre 20191 3 nov. 2004 à 10:37
Quelques fois, call est obligatoire. Non?
@+
BILALoch
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 1 nov. 2004 à 21:13
J'ai pris en compte tes remarques ennixo, et voici le résultat : c'est quand même moins crénelé !
Merci à toi.
DarK Sidious
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 26 oct. 2004 à 19:15
Oui, tout à fait, ton algorithme est sûrement plus optimisée niveau résultat. D'ailleurs, il va falloir que je l'applique pour prendre en compte la position des pixels. Merci pour cette remarque constructive ;)
DarK Sidious
ennixo
Messages postés224Date d'inscriptionsamedi 25 janvier 2003StatutMembreDernière intervention17 juin 2006 26 oct. 2004 à 18:31
pour optimiser un peu plus tu peux utiliser l'opérateur \ au lieu de / quand tu fais des opérations sur des entiers, ça permet de ne pas du tout prendre en compte l'évntuelle virgule du numérateur et du dénominateur et du résultat.
sinon le résultat de ton algo est un peu spé, c'est encore très carré par rapport à un résultat effectué avec photoshop par exemple.
j'avais fait un truc dans ce genre là mais c'était un rééchantillonage bilinéaire (woaw lol).
ça consistait à :
pour chaque pixel de l'image redimensionnée, calculer la position exacte (dans un single) du pixel de l'image originale donc avec une virgule pour le x et le y
et récupérer la couleur de l'image originale avec un algorithme d'anticrènelage.
permet d'obtenir un résultat beaucoup plus satisfaisant et très rapide en utilisant un bon algorithme d'anticrènelage.
si quelqu'un veut plus d'infos la dessus demandez :)
jmlucienvb
Messages postés129Date d'inscriptionmercredi 24 septembre 2003StatutMembreDernière intervention12 février 2009 19 oct. 2004 à 07:42
Et ayant en ce moment à lire des codes écrits par Dark je dois dire que cela facilite grandement la compréhension ...
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 19 oct. 2004 à 06:44
Ben perso, je ne vois pas trop de différence, mais d'après VB HardCore (un bouquin), cela permet au compilateur de mieux discerner les appels de fonctions ainsi que les affectations à des valeurs, et donc de lui permettre d'optimiser ces opérations.
Par contre, l'avantage d'utiliser ces mot-clés : cela donne un code plus facile à lire (à mon avis).
DarK Sidious
DeadlyPredator
Messages postés222Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention30 juin 2008 19 oct. 2004 à 03:53
J'ai une grosse question :
Est-ce que le fait d'utiliser Let et Call permet réellement d'optimiser le programme?
jmlucienvb
Messages postés129Date d'inscriptionmercredi 24 septembre 2003StatutMembreDernière intervention12 février 2009 18 oct. 2004 à 08:25
Et comme cette solution nous ouvre de grands espaces dans un projet qui nous tient à coeur Bravo 10/10
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 17 oct. 2004 à 16:55
Tout à fait, mettre un Let devant une affectation permet d'optimiser un peu le code d'après le livre VB Hardcore... Mais ce n'est surement pas flagrant ! C'est un héritage du vieux BASIC.
DarK Sidious
Saros
Messages postés921Date d'inscriptionvendredi 20 décembre 2002StatutMembreDernière intervention23 septembre 2010 17 oct. 2004 à 10:32
Let X = Y c'est la même chose que X = Y ?
j'ai jamais vu cette syntaxe :) on en apprend tous les jours...
L'image agrandie avec l'antialiasing est plus grosse, il faudrait la tronquer sur les bords.
Sinon j'ai bien aimé ^^
9/10
Saros
24 déc. 2004 à 09:42
http://www.vbfrance.com/code.aspx?ID=28385
Je pense que ca pourra t'être utile moustachu ;)
DarK Sidious
24 déc. 2004 à 07:30
23 déc. 2004 à 15:16
1 0 -1
1 0 -1
1 0 -1
Puis une matrice
1 1 1
0 0 0
-1 -1 -1
Cela trace les contours normalement, et ensuite, il faut appliquer un flou sur les pixels des contours pour obtenir de l'antialiasing.
Note : cette source n'utilise pas de l'antialiasing comme mentionné ci-dessus, mais un filtre de flou uniquement car sur une image zoomé, le tracé des contours est loin d'être bon !
DarK Sidious
23 déc. 2004 à 14:59
22 déc. 2004 à 10:08
Je me suis mal exprimé : c'est pour appliquer l'anti aliasing sur une image... sans besoin de l'agrandir. Peut-être existe-t-il d'autres moyens...
Merci de ta réponse
++
Moustachu
22 déc. 2004 à 10:02
Mais je ne vois pas trop l'intérêt de faire un zoom de 1... ;)
DarK Sidious
22 déc. 2004 à 09:36
Encore une belle démo de ta classe.
J'ai une petite question, peut-être pas très pertinente car je ne me suis pas trop penché sur ton Algo :
Est-il possible d'avoir un anti aliasing plus ou moins "fort" ? Je m'explique : je souhaite appliquer l'antialiasing sans zoom (iZoom = 1) et je trouve que je perds trop de détails sur l'image résiduelle.
Merci et à ++
Moustachu
3 nov. 2004 à 13:11
Que l'on fasse
Call X(args)
ou
X args
Le prog attend *toujours* que X aie terminé.
Ca m'étonne que ce ne soit pas le cas en VBA...
3 nov. 2004 à 11:04
Ce qui est à la suite de call attend que le sous prog aie terminé pour continuer...
Ceci est vrai en VBA , en Vb suis pas sûr...
JM
3 nov. 2004 à 10:57
Sinon, le Call n'est pas obligatoire il me semble. Si on ne l'utilise pas ca ne change rien, mais c'est quand même plus rigoureux.
DarK Sidious
3 nov. 2004 à 10:50
@ +
BILALoch
3 nov. 2004 à 10:37
@+
BILALoch
1 nov. 2004 à 21:13
Merci à toi.
DarK Sidious
26 oct. 2004 à 19:15
DarK Sidious
26 oct. 2004 à 18:31
sinon le résultat de ton algo est un peu spé, c'est encore très carré par rapport à un résultat effectué avec photoshop par exemple.
j'avais fait un truc dans ce genre là mais c'était un rééchantillonage bilinéaire (woaw lol).
ça consistait à :
pour chaque pixel de l'image redimensionnée, calculer la position exacte (dans un single) du pixel de l'image originale donc avec une virgule pour le x et le y
et récupérer la couleur de l'image originale avec un algorithme d'anticrènelage.
permet d'obtenir un résultat beaucoup plus satisfaisant et très rapide en utilisant un bon algorithme d'anticrènelage.
si quelqu'un veut plus d'infos la dessus demandez :)
19 oct. 2004 à 07:42
19 oct. 2004 à 06:44
Par contre, l'avantage d'utiliser ces mot-clés : cela donne un code plus facile à lire (à mon avis).
DarK Sidious
19 oct. 2004 à 03:53
Est-ce que le fait d'utiliser Let et Call permet réellement d'optimiser le programme?
18 oct. 2004 à 08:25
17 oct. 2004 à 16:55
DarK Sidious
17 oct. 2004 à 10:32
j'ai jamais vu cette syntaxe :) on en apprend tous les jours...
L'image agrandie avec l'antialiasing est plus grosse, il faudrait la tronquer sur les bords.
Sinon j'ai bien aimé ^^
9/10
Saros