LolPiratas
Messages postés80Date d'inscriptionmardi 13 août 2002StatutMembreDernière intervention15 décembre 2010
-
23 mars 2008 à 18:23
LolPiratas
Messages postés80Date d'inscriptionmardi 13 août 2002StatutMembreDernière intervention15 décembre 2010
-
24 mars 2008 à 11:13
Bonjour,
Avec l’aide de GDI on peut donner la couleur transparente d’une pixel
Mais comment fait t’on pour élargir la transparence sur plusieurs pixels aux alentour.
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013129 24 mars 2008 à 08:38
Salut,
C'est loin d'être évident à faire en gdi32 : il faut récupérer la couleur du pixel avant modification (getPixel), puis récupèrer les 3 composantes RGB, calculer la couleur résultante selon le niveau de transparence, et appliquer enfin la nouvelle couleur (setPixel). Niveau performances, c'est pas le top !
Je te conseille vivement d'aller voir ma source DKS_Gestion_Image afin d'accèlérer tout cà, surtout qu'en modifiant légérement ma classe, tu peux très facilement faire une fonction SetPixelRGBA qui prend en paramètre le niveau de transparence !
Concernant ton idée "d'élargir la transparence", je pense que tu veux faire de l'anti-aliasing, je me trompe ? A ce moment là, je te conseille d'aller voir mon autre source : Anti-aliasing des contours d'une image, voir même ma source de zoom amélioré pour comprendre comment appliquer une couleur avec atténuation sur les pixels avoisinants pour éviter le célèbre effet escalier.
______________________________________
DarK Sidious