#include #include #include #include #include #include FileInstall(".\Example.jpg",@TempDir&"\Example.jpg") #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Sign Generator", 403, 173, -1, -1) $L1 = GUICtrlCreateLabel("Votre Message :", 8, 8, 81, 17) $L2 = GUICtrlCreateLabel("Coordonées X,Y :", 8, 40, 87, 17) $Message = GUICtrlCreateInput("", 96, 8, 297, 21) $inputX = GUICtrlCreateInput("80", 96, 40, 33, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_NUMBER)) $inputY = GUICtrlCreateInput("12", 144, 40, 33, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_NUMBER)) $Pic1 = GUICtrlCreatePic(@TempDir&"\Example.jpg", 8, 72, 383, 60) $Save = GUICtrlCreateButton("Enregistrer", 8, 136, 379, 25) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### Local $LabelBuffer = GUICtrlRead($Message) Local $XBuffer = GUICtrlRead($inputX) Local $YBuffer = GUICtrlRead($inputY) While 1 If GuictrlRead($Message) <> $LabelBuffer or GuictrlRead($inputX) <> $XBuffer or GuictrlRead($inputY) <> $YBuffer Then Local $StringPic[4] $StringPic[0] = 1 $StringPic[1] = GUICtrlRead($Message) $StringPic[2] = GUICtrlRead($inputX) $StringPic[3] = GUICtrlRead($inputY) $Test = _DrawStringToPicture(@tempdir&"\Example.jpg", @TempDir&"\SignBuffer.jpg", $StringPic,0xFFFFFFFF) GUICtrlSetImage($Pic1,$Test[0]) $LabelBuffer = $StringPic[1] $XBuffer = $StringPic[2] $YBuffer = $StringPic[3] EndIf $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Save Local $SavePic = FileSaveDialog("Sauvegarder", ".\", "JPG (*.jpg)", 2) If Not @error And IsArray($Test) Then Filecopy($Test[0],$SavePic&".jpg") EndIf EndSwitch WEnd Func _DrawStringToPicture($OriPicture, $DestPicture, Byref $pStringArray, $FontColor = 0xFF000000, $pStringFont = "Arial", $pFontSize = 30) _GDIPlus_Startup() $BitmapPicture = _GDIPlus_BitmapCreateFromFile($OriPicture) $BasePicture = _GDIPlus_ImageGetGraphicsContext($BitmapPicture ) $hBrush = _GDIPlus_BrushCreateSolid($FontColor) $hFormat = _GDIPlus_StringFormatCreate() $hFamily = _GDIPlus_FontFamilyCreate($pStringFont) $hFont = _GDIPlus_FontCreate($hFamily, $pFontSize, 1) For $sCount = 1 To $pStringArray[0]*3 step 3 $tLayout = _GDIPlus_RectFCreate($pStringArray[$sCount+1], $pStringArray[$sCount+2], 0, 0) $aInfo = _GDIPlus_GraphicsMeasureString($BasePicture, $pStringArray[$sCount], $hFont, $tLayout, $hFormat) _GDIPlus_GraphicsDrawStringEx($BasePicture, $pStringArray[$sCount], $hFont, $aInfo[0], $hFormat, $hBrush) Next _GDIPlus_ImageSaveToFile($BitmapPicture, $DestPicture) Local $ReturnPicture[3] $ReturnPicture[0] = $DestPicture $ReturnPicture[1] = _GDIPlus_ImageGetWidth($BitmapPicture) $ReturnPicture[2] = _GDIPlus_ImageGetHeight($BitmapPicture) _GDIPlus_ImageDispose ($BitmapPicture) _GDIPlus_Shutdown() Return $ReturnPicture EndFunc