Shadow en GDI+

peug Messages postés 232 Date d'inscription mercredi 25 octobre 2000 Statut Membre Dernière intervention 5 octobre 2012 - 4 avril 2007 à 17:15
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 5 avril 2007 à 13:30
Avé !
je cherche à créer une ombre (dégradé+transparence) derrière un rectangle (dessiné via API classic)
J'ai trouvé des codes fabuleux (ps : cherchez "Creating Drop-Shadows" sur internet !) mais extremement compliqué ! digne des dieux.
Bref, mon idée serait de passer par le GDI+ ; lacune : je suis très mauvais en GDI+ mais je pense qu'il doit y exister une fonction de flou, de rendu ou autre
1° je dessine en décalé mon rectangle GDI+ avec ses propriétés adéquat
2° je dessine le rectangle final.

pensez-vous cela possible ?

3 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
4 avril 2007 à 18:57
regarde sur vbaccelerator, ils ont fait une source de wrapper gdi+ pour faciliter la prog avec GDI+ sous vb6, et on fait également des sources à ce sujet + une source spécifique à la transparence sur tu demande.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
5 avril 2007 à 09:09
Bonjour;

Ton "ombré" n'est jamais obtenu que par un léger déplacement des pixels, accompagné d'un "flou"
Le tout est largement réalisable à l'aide des seules fonctions Get¨Pixel et SetPixel (ou, mieux, de SetPixelIV) de la librairie GDI32 de l'Api de Windows.
Le "flou" s'obtient sur un pixel par rapport aux pixels voisins.
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
5 avril 2007 à 13:30
Pas vraiment jacques : l'ombre est question est translucide : on voit à
travers, donc la seule utilisation de SetPixel ne suffit pas, il faut
lui rajouter un canal alpha, d'où l'utilisation de GDI+ qui apporte
cette fonctionnalité.
0
Rejoignez-nous