Code : Tout sélectionner
#include <GuiConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
Global $img, $logo
Global $img_avec_logo = @scriptDir & "\image_avec_logo.jpg"
GuiCreate("logoisation", 730, 100, -1, -1, -1, $WS_EX_ACCEPTFILES)
GUISetFont(10, 600, 0, "Comic Sans MS")
$label1 = GUICtrlCreateLabel("déposer ici l'image à logo-iser", 10, 10, 600, 25, $WS_BORDER)
GUICtrlSetBkColor(-1, 0xffffff)
GUICtrlSetState (-1, $GUI_DROPACCEPTED)
$btnOpen1 = GUICtrlCreateButton("Ouvrir", 620, 10, 100, 25)
$label2 = GUICtrlCreateLabel("déposer ici le logo", 10, 40, 600, 25, $WS_BORDER)
GUICtrlSetBkColor(-1, 0xffffff)
GUICtrlSetState (-1, $GUI_DROPACCEPTED)
$btnOpen2 = GUICtrlCreateButton("Ouvrir", 620, 40, 100, 25)
$edit = GUICtrlCreateInput($img_avec_logo, 10, 70, 600, 25)
GUICtrlSetBkColor(-1, 0xffffff)
$btnSave = GUICtrlCreateButton("Enregistrer", 620, 70, 100, 25)
GuiSetState()
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_DROPPED
$a = GUIGetCursorInfo()
If $a[4] = $label1 Then
$img = @GUI_DragFile
GuiCtrlSetData($label1, $img)
EndIf
If $a[4] = $label2 Then
$logo = @GUI_DragFile
GuiCtrlSetData($label2, $logo)
EndIf
Case $btnOpen1
$img = FileOpenDialog("Choose Image",@scriptdir, "Image Files (*.jpg;*.jpeg;*.bmp)", 3)
If Not @error Then
GuiCtrlSetData($label1, $img)
EndIf
Case $btnOpen2
$logo = FileOpenDialog("Choose Image",@scriptdir, "Image Files (*.png;*.gif;*.jpg;*.bmp)", 3)
If Not @error Then
GuiCtrlSetData($label2, $logo)
EndIf
Case $GUI_EVENT_CLOSE
Exit
Case $btnSave
_Logo($img, $logo)
EndSwitch
Wend
Func _Logo($sFile, $sLogo)
Local $hImage1, $hImage2, $hGraphic
_GDIPlus_Startup ()
$hImage1 = _GDIPlus_ImageLoadFromFile ($sFile)
$X1 = _GDIPlus_ImageGetWidth ($hImage1)
$Y1 = _GDIPlus_ImageGetHeight ($hImage1)
$hImage2 = _GDIPlus_ImageLoadFromFile ($sLogo)
$X2 = _GDIPlus_ImageGetWidth ($hImage2)
$Y2 = _GDIPlus_ImageGetHeight ($hImage2)
$hGraphic = _GDIPlus_ImageGetGraphicsContext ($hImage1)
_GDIPlus_GraphicsDrawImage ($hGraphic, $hImage2, 0, $Y1-$Y2-30)
_GDIPlus_GraphicsDrawRect ($hGraphic, 0, 0, $X1, $Y1)
_GDIPlus_ImageSaveToFile ($hImage1, GuiCtrlRead($edit))
_GDIPlus_ImageDispose ($hImage1)
_GDIPlus_ImageDispose ($hImage2)
_GDIPlus_ShutDown ()
EndFunc ;==>_Logo