#include <GUIConstantsEx.au3>
#include <GDIPlus.au3>
#include <FileConstants.au3>
Local $hGUI = GUICreate("Cмотрелка png", 500,600)
Local $idButton = GUICtrlCreateButton("Загрузить рисунок", 210, 470, 100, 25)
GUISetState(@SW_SHOW, $hGUI)
Local $w = 0
Local $h = 0
Local $imagename = ""
Local $idMenu = GUICtrlCreateMenu("Функции программы")
Local $idSubMenu_1 = GUICtrlCreateMenuItem("Данные об изображении", $idMenu)
Local $idSubMenu_2 = GUICtrlCreateMenuItem("Поиск изображений", $idMenu)
Local $idSubMenu_3 = GUICtrlCreateMenuItem("Проверка сигнатуры файла", $idMenu)
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
Case $idSubMenu_1
gui1()
Case $idSubMenu_2
gui2()
Case $idSubMenu_3
Local $hFileOpen = FileOpen($imagename, $FO_READ)
Local $sFileRead = FileRead($hFileOpen)
Local $dBinary = Binary($sFileRead)
$dBinary =BinaryMid($dBinary,1,4)
msgbox(0,"", $dBinary)
Case $idButton
draw_image_1()
EndSwitch
WEnd
func draw_image_1()
Local $sFileOpenDialog = FileOpenDialog("Файл png",@Scriptdir, "All (*.*)", $FD_FILEMUSTEXIST)
$imagename = $sFileOpenDialog
_GDIPlus_Startup()
Local $hImage = _GDIPlus_ImageLoadFromFile($sFileOpenDialog)
Local $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
_GDIPlus_GraphicsDrawImage($hGraphic, $hImage, 0, 0)
$aDim = _GDIPlus_ImageGetDimension($hImage)
$w = $aDim[0]
$h= $aDim[1]
EndFunc
func draw_image_2($name)
_GDIPlus_Startup()
Local $path_name = @ScriptDir
$path_name &= "\" & $name
$imagename = $path_name
Local $hImage = _GDIPlus_ImageLoadFromFile($path_name)
Local $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
_GDIPlus_GraphicsDrawImage($hGraphic, $hImage, 0, 0)
$aDim = _GDIPlus_ImageGetDimension($hImage)
$w = $aDim[0]
$h= $aDim[1]
EndFunc
Func gui1()
Local $hGUI2 = GUICreate("Данные об изображении", 500, 200, 250, 250)
$myw = GUICtrlCreateLabel("Ширина изображения " &$w, 0, 0)
$myh = GUICtrlCreateLabel("Высота изображения " &$h , 0, 100)
$mysz = GUICtrlCreateLabel("Размер файла " & FileGetSize($imagename) , 0, 150)
GUISetState()
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
GUIDelete($hGUI2)
ExitLoop
EndSwitch
WEnd
EndFunc
Func gui2()
Local $hGUI3 = GUICreate("Поиск", 500, 200, 250, 250)
Local $mylab = GUICtrlCreateLabel("Введите название изображения " , 0, 0)
Local $mylab_2 = GUICtrlCreateLabel("" , 0,70)
Local $mytext = GUICtrlCreateInput("" , 0, 20,200,25)
Local $idButton = GUICtrlCreateButton("Начать поиск", 200, 20, 100, 25)
Local $idButton_2 = GUICtrlCreateButton("Поместить на холст", 300, 20, 150, 25)
Local $idMylist = GUICtrlCreateList("", 0,100, 221, 97)
GUISetState()
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
GUIDelete($hGUI3)
ExitLoop
Case $idButton
Local $hSearch = FileFindFirstFile("*.png*")
Local $sFileName = ""
Local $found = 0
Local $findfile = ""
if GUICtrlRead($mytext) = "" then
msgbox(0,"Сообщение","введите имя файла")
ContinueLoop
EndIf
While 1
$sFileName = FileFindNextFile($hSearch)
if $sFileName = GUICtrlRead($mytext) and GUICtrlRead($mytext) <> "" then
$found = 1
$findfile = GUICtrlRead($mytext)
EndIf
If $sFileName ="" then ExitLoop
GUICtrlSetData($idMylist, $sFileName)
WEnd
if $found = 1 then
GuictrlSetdata($mylab_2,"")
$mylab_2 = GUICtrlCreateLabel("Файл "& $findfile & " существует " , 0,70)
EndIf
if $found = 0 and GUICtrlRead($mytext) <> "" then
GuictrlSetdata($mylab_2,"")
$mylab_2 = GUICtrlCreateLabel("Файла с именем "&GUICtrlRead($mytext)& " не существует", 0,70)
EndIf
Case $idButton_2
draw_image_2(GUICtrlRead( $idMylist ))
EndSwitch
WEnd
EndFunc
|