[..] Ecrire dans une image dans GDI +

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Capablanca
Niveau 3
Niveau 3
Messages : 41
Enregistré le : mar. 08 juil. 2014 14:44
Status : Hors ligne

[..] Ecrire dans une image dans GDI +

#1

Message par Capablanca »

Bonjour,
Je suis un débutant total dans ce langage qui a l'air très séduisant.
Je ne peux que remercier le site pour un forum français et, plus encore, pour la doc en français, plus qu'indispensable pour moi car je galère vraiment en anglais.

Voilà mon problème :
Je souhaite exploiter GDI + et je souhaite écrire dans une image au fur et à mesure des besoins, pas remplacer l'ancien graphique.
Si je fais un DrawImage(....) j'écris bien dans le Graphic Objet mais je veux, moi écrire dans une image et superposer le graphique, au fur et à mesure des besoins.
Certes, je vais bien superposer le graphique dans le Graphic Objet mais je veux le conserver dans une image.
Merci de m'aider...
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Ecrire dans une image dans GDI +

#2

Message par mikell »

Heu oui, et concrètement/en pratique tu souhaites faire/obtenir quoi ? tu as fait un début de code ?
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Capablanca
Niveau 3
Niveau 3
Messages : 41
Enregistré le : mar. 08 juil. 2014 14:44
Status : Hors ligne

Re: [..] Ecrire dans une image dans GDI +

#3

Message par Capablanca »

Je suis dans un lieu public et je ne peux donner de code car je n'ai pas accès à un port USB mais je dis de mémoire mon problème.
Je souhaite utiliser GDI+.
Je n'ai pas trouvé d'instruction GDI+, dans AutoIt, qui me permette d'écrire un graphique dans une image. En vérité, je souhaite pouvoir faire ce que je fais dans le Graphic Objet mais dans une image (un handleBitmap je suppose).
Je sais qu'il est possible d'écrire un graphique directement dans une image sans effacer son contenu mais en superposant les graphiques au fur et à mesure, comme on le ferait en écrivant dans un Graphic Objet.
Merci de l'aide.
Capablanca
Niveau 3
Niveau 3
Messages : 41
Enregistré le : mar. 08 juil. 2014 14:44
Status : Hors ligne

Re: [..] Ecrire dans une image dans GDI +

#4

Message par Capablanca »

Pour compléter ce que j'ai écris plus haut.
Je souhaite faire un jeu.

Une solution pour moi serait de pouvoir copier le contenu du Graphic Objet dans un handleBitmap, comme on le ferait avec GDI :
_WinAPI_BitBlt(hgraphic,0,0,600,600,hDC,0,0) => copie le contenu du DC dans une image.
Une autre solution, pouvoir écrire directement dans une image, comme par exemple avec GDI :
_WinAPI_BitBlt(hgraphicdest,0,0,600,600,hgraphicsource,0,0)

J'arrive à faire ce que je veux en GDI mais pas en GDI +.
Merci de l'aide.
overflow
Niveau 5
Niveau 5
Messages : 138
Enregistré le : sam. 05 déc. 2009 23:49
Status : Hors ligne

Re: [..] Ecrire dans une image dans GDI +

#5

Message par overflow »

regarde cette fonction : _GDIPlus_GraphicsDrawImageRect dans l aide
Capablanca
Niveau 3
Niveau 3
Messages : 41
Enregistré le : mar. 08 juil. 2014 14:44
Status : Hors ligne

Re: [..] Ecrire dans une image dans GDI +

#6

Message par Capablanca »

Merci overflow.
J'avais pas compris la commande GDI+.
Faut dire que je débute dans cette bibliothèque, étant plus habitué à GDI.
Capablanca
Niveau 3
Niveau 3
Messages : 41
Enregistré le : mar. 08 juil. 2014 14:44
Status : Hors ligne

Re: [..] Ecrire dans une image dans GDI +

#7

Message par Capablanca »

J'ai regardé de plus près la commande _GDIPlus_GraphicsDrawImageRect(---).
En fait, cette commande permet de mettre dans le Graphic Objet (l'équivalent du DC pour GDI) une portion d'une image. Pour l'image complète on fait tout simplement : _GDIPlus_GraphicsDrawImage(---).
Tout cela donc dans le Graphic Objet.
Mais comment faire pour dessiner, voire mettre une image, dans une autre image en GDI+ ?
En GDI cela peut donner par exemple :
_WinAPI_BitBlt(hgraphicdest,0,0,600,600,hgraphicsource,0,0)
Où hgraphicsource est le handle source de l'image qu'on dépose dans le handle destination hgraphicdest.
Cela n'est pas déposé dans le DC mais bien dans le handle de destination.
Or toutes les commandes GDI+ semblent mettre dessins et images systématiquement dans le Graphic Objet.
S'il n'y a pas de solution, il me reste à faire la copie comme en GDI et par une commande GDI+ récupérer le handle Bitmap via le handle GDI.
Qu'en pensez-vous et peut-on éviter de passer par GDI ?
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Ecrire dans une image dans GDI +

#8

Message par ani »

Bien le bonjour
regardez dans le dossier de autoit > example > Gui > Avanced
y a deux trois exemple.

la je vais vous relire, car hm pas suivit ^^' ze dort encore un peu ;-)
Capablanca
Niveau 3
Niveau 3
Messages : 41
Enregistré le : mar. 08 juil. 2014 14:44
Status : Hors ligne

Re: [..] Ecrire dans une image dans GDI +

#9

Message par Capablanca »

J'avais fini par trouver grâce aux exemples fournis par AutoIt.
Merci quand même.
Répondre