GDI windows

moi1392 Messages postés 3 Date d'inscription mercredi 23 juillet 2003 Statut Membre Dernière intervention 13 août 2003 - 13 août 2003 à 16:07
tcok Messages postés 61 Date d'inscription samedi 7 juin 2003 Statut Membre Dernière intervention 3 août 2005 - 14 août 2003 à 11:20
Bonjour, j'ai un léger soucis avec l'API win32.
Alors voila, je voudrais tracer un rectangle vide au milieu mais avec une certaine epaisseur de bord.
La méthode que j'utilise actuellement est de tracer les quatres cotés avec la fonction LineTo du GDI, mais les lignes n'ont pas d'epaisseur et elle sont tres fines !!!
Je n'ai pas trouvé de fonctions qui trace directement un rectangle alors je pense que la seule solution est de dessiner mon rectangle comme un bitmap et de le copier ensuite avec un Blt transparent !

Qu'en pensez-vous ??

Pour le Blt le problème est que je dois faire un StretchBlt (car la taille finale n'est pas toujours le meme) puis une avec clé de couleur pour effacer le zone centrale !!!
Ca parait asser lourd !!
De plus, pour le blit transparent, j'ai regardé TransparentBlt, et il est dit que cette fonction ne gere que les bitmaps de 4 ou 8 bits par pixels !!!!
Il est conseillé d'utiliser AlphaBlend pour les bitmaps de definition supérieure !! Mais cette fonction parait bien moins evidente à utiliser !!! De plus je n'ai pas trouvé de source ou tutorial qui la décrive !!!

Voila, tout commentaire est le bienvenu.
Merci

3 réponses

cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
13 août 2003 à 16:12
Salut,
Pour l'epaisseur du contour de ton rectangle, c'est a spetifier lors de la création de ton peon avec CreatePen(...).
Pour le reste je sais pas, désolé.
0
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
13 août 2003 à 16:12
je voulais dire "pen" a la place de "peon".
0
tcok Messages postés 61 Date d'inscription samedi 7 juin 2003 Statut Membre Dernière intervention 3 août 2005
14 août 2003 à 11:20
pour effacer la zone centale, il suffit de selectionner un NULL_BRUSH avec ton dc

@+
0
Rejoignez-nous