Kodlarım
Kod: Tümünü seç
#include <GDIPlus.au3>
#include <GuiConstantsEx.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Global $Form1, $hImage, $hGraphic, $OpenPictures, $PicPreview
_GDIPlus_Startup()
$Form1 = GUICreate("Form1", 615, 438, 374, 347)
$PicPreview = GUICtrlCreatePic("", 24, 152, 572, 268)
$ButtonPreview = GUICtrlCreateButton("Preview", 520, 112, 75, 25)
$InputImageDir = GUICtrlCreateInput("", 64, 48, 177, 21)
$ButtonOpen = GUICtrlCreateButton("...", 256, 48, 75, 25)
$InputDistanceLeft = GUICtrlCreateInput("", 64, 96, 65, 21)
$InputDistanceButtom = GUICtrlCreateInput("", 144, 96, 57, 21)
$ButtonWatermark = GUICtrlCreateButton("Watermark Add", 256, 112, 80, 25)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_ImageDispose($hImage)
_GDIPlus_Shutdown()
Exit
Case $ButtonOpen
$OpenPictures = FileOpenDialog("Where are the pictures?", @ScriptDir & "\", "Picture format (*.jpg;*.bmp;*.png)", $FD_FILEMUSTEXIST + $FD_MULTISELECT)
If Not $OpenPictures Then
MsgBox(64, "İnfo", "No Files Selected!", 5)
Else
GUICtrlSetData($InputImageDir, $OpenPictures)
EndIf
Case $ButtonWatermark
$aImageLoad = $OpenPictures
$aImageSave = @ScriptDir & "\Save.png"
$aImageLogo = @ScriptDir & "\Logo.png"
_Watermark($aImageSave, $aImageLoad, $aImageLogo)
Case $ButtonPreview
$hImage = _GDIPlus_ImageLoadFromFile($aImageSave)
$X1 = _GDIPlus_ImageGetWidth($hImage)
$Y1 = _GDIPlus_ImageGetHeight($hImage)
$X2 = _GDIPlus_ImageGetWidth($hImage)
$Y2 = _GDIPlus_ImageGetHeight($hImage)
$hGraphic = _GDIPlus_ImageGetGraphicsContext($hImage)
$hGraphic = _GDIPlus_GraphicsCreateFromHWND($Form1)
;$PicPreview = GUICtrlCreatePic("", 24, 152, 572, 268)
_GDIPlus_GraphicsDrawImage($hGraphic, $hImage, 20, $Y1 - $Y2 - 30)
;_GDIPlus_GraphicsDrawImage ($hGraphic, 24, 152, 572, 268)
EndSwitch
WEnd
Func _Watermark($sFile2, $sFile, $sLogo)
Local $hImage1, $hImage2, $hGraphic
_GDIPlus_Startup()
$hImage1 = _GDIPlus_ImageLoadFromFile($sFile) ; image
$X1 = _GDIPlus_ImageGetWidth($hImage1)
$Y1 = _GDIPlus_ImageGetHeight($hImage1)
$hImage2 = _GDIPlus_ImageLoadFromFile($sLogo) ; logo
$X2 = _GDIPlus_ImageGetWidth($hImage2)
$Y2 = _GDIPlus_ImageGetHeight($hImage2)
$hGraphic = _GDIPlus_ImageGetGraphicsContext($hImage1)
_GDIPlus_GraphicsDrawImage($hGraphic, $hImage2, 20, $Y1 - $Y2 - 30)
_GDIPlus_ImageSaveToFile($hImage1, $sFile2) ; image watermarked
_GDIPlus_ImageDispose($hImage1)
_GDIPlus_ImageDispose($hImage2)
_GDIPlus_Shutdown()
EndFunc ;==>_Watermark