Page 1 sur 1

[..] Gdi+ format png

Posté : mer. 20 août 2014 10:56
par jcaspar
B :D onjour à tous !
Je souhaiterais créer une nouvelle image à partir de deux images existantes mais j'ignore si il est possible d'utiliser des images au format png ?

En vous remerciant pour vos conseils


Jean-Marc

Code : Tout sélectionner


#include <GDIPlus.au3>
#include <WinAPI.au3>


    Local $hBitmap1, $hBitmap2, $hImage1, $hImage2, $hGraphics

      _GDIPlus_Startup()

    $hBitmap1 ="logo_ars.png"
    $hImage1 = _GDIPlus_BitmapCreateFromHBITMAP($hBitmap1)

    $hBitmap2 ="signature_optim.png"
    $hImage2 = _GDIPlus_BitmapCreateFromHBITMAP($hBitmap2)

    $hGraphics = _GDIPlus_ImageGetGraphicsContext($hImage1)
    _GDIPlus_GraphicsDrawImage($hGraphics, $hImage2, 100, 100)

    _GDIPlus_GraphicsDrawRect($hGraphics, 100, 100, 400, 300)

    _GDIPlus_ImageSaveToFile($hImage1, @DesktopDir & "\test.jpg")

    ; Clean up resources
    _GDIPlus_ImageDispose($hImage1)
    _GDIPlus_ImageDispose($hImage2)
    _WinAPI_DeleteObject($hBitmap1)
    _WinAPI_DeleteObject($hBitmap2)

    ; Shut down GDI+ library
    _GDIPlus_Shutdown()

    ShellExecute(@DesktopDir & "\test.jpg")
 

Re: [..] Gdi+ format png

Posté : mer. 20 août 2014 11:27
par TommyDDR
Oui, c'est possible.

Code : Tout sélectionner

$hBitmap1 ="logo_ars.png"
$hImage1 = _GDIPlus_BitmapCreateFromHBITMAP($hBitmap1)
"FromHBITMAP" ! ce n'est pas parce-que vous appelez votre variable "$hBitmap1" que c'est un HBITMAP.

Code : Tout sélectionner

$hBitmap1 ="logo_ars.png"
$hBitmap1 est un string.

Vous ne devez pas utiliser "_GDIPlus_BitmapCreateFromHBITMAP", ouvrez l'aide et cherchez une fonction plus approprié à ce que vous avez -> un nom de fichier.

Re: [..] Gdi+ format png

Posté : mer. 20 août 2014 21:32
par walkson
Bonsoir,
Voici un scrypt qui superpose 2 PNG et modifie la transparence
► Afficher le texte

Pour obtenir un résultat convenable, les 2 PNG doivent être de la même taille que je réalise par:
► Afficher le texte
Il y a, peut être, un moyen plus simple mais cela fonctionne
(La doc et les infos sur le travail d'un fichier PNG sont très limités :( )
Edit: je joints les 2 PNG car en fonction des transparences, les résultats peuvent être très variables

Re: [..] Gdi+ format png

Posté : jeu. 21 août 2014 11:30
par walkson
Bonjour,
Après, si c'est pour mettre 2 PNG cote à cote, il y a http://www.autoitscript.com/forum/topic ... ap-images/ (voir rasim)
Prévu pour du BMP, marche aussi pour du PNG (je viens de tester) mais ne gère pas la transparence qui devient noir.