Page 1 sur 1

[R] GDIPlus redimensionner une image (sans fichier)

Posté : lun. 04 août 2014 19:54
par ZDS
Bonjour,

Je me heurte à un souci, j'aimerai trouver le problème du script suivant (la ligne 15 en commentaire pose problème) :
► Afficher le texteGDIPlus/Resize
Je me suis basé sur un exemple similaire, pour pouvoir retailler (en redimensionnant, pas en rognant) une image issue d'une capture d'écran avec _ScreenCapture_Capture("") qui retourne un handle. En gros, dans ce script là, c'est comme si je ne pouvais pas toucher à la variable $hHBMP0. Mon but est de trouver comment faire en sorte qu'une version "écrasée" de $hHBMP0 (450px par 431px) se retrouve dans $hHBMP1 (90px par 50px). Le bouton $btn0 affiche bien l'image (non redimensionnée), mais $btn1 n'affiche pour le moment qu'un rectangle noir...

Ci joint l'image utilisée pour mon test.
► Afficher le texteImage
Merci d'avance pour votre aide, et à très bientôt !

Re: [..] GDIPlus redimensionner une image (sans fichier)

Posté : mar. 05 août 2014 00:33
par mikell
J'ai récupéré ça au fond d'un tiroir... c'est vieux, c'est moche mais ça marche
Charge à toi d'en faire quelque chose de mignon :mrgreen:
► Afficher le texte

Re: [..] GDIPlus redimensionner une image (sans fichier)

Posté : mar. 05 août 2014 00:39
par ZDS
Merci beaucoup, je vais essayer d'en tirer qqchose :) En tout cas, l'effet voulu est bon.

Re: [..] GDIPlus redimensionner une image (sans fichier)

Posté : mar. 05 août 2014 01:00
par mikell
Pour les dllcalls les fonctions équivalentes sont dans WinAPIGdi.au3
_WinAPI_GetBitmapDimension
_WinAPI_SetStretchBltMode
_WinAPI_StretchBlt

Re: [..] GDIPlus redimensionner une image (sans fichier)

Posté : mar. 05 août 2014 01:12
par ZDS
Problème [R]ésolu !

J'ai remis à jour les DllCall avec des fonctions existantes (les grands esprits se rencontrent, Mikell ^^) et modifié le StretchMode (le 4 "HALFTONE" est plus propre, même si on perd la transparence ce n'est pas un souci dans mon cas), et une fois adapté à mon code d'origine, ça fonctionne du feu de dieu.

Merci beaucoup !
► Afficher le texteCode corrigé