bulldog5293
Знающий
- Сообщения
- 172
- Репутация
- 10
у меня по адрессу С:\test.gif картинка, можно ли вывести её изображение в MsgBox
snoitaleR сказал(а):bulldog5293
Можно с помщью функции SplashImageOn()...
#include <GDIPlus.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
#Include <WinAPI.au3>
Global $hGUI, $hImage, $hGraphic, $hImage1
; Create GUI
$hGUI = GUICreate("Show PNG", 250, 250)
; Load PNG image
_GDIPlus_StartUp()
$hImage = _GDIPlus_ImageLoadFromFile("Captcha1.gif")
$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
GUIRegisterMsg($WM_PAINT, "MY_WM_PAINT")
GUISetState()
; Loop until user exits
do
until GUIGetMsg() = $GUI_EVENT_CLOSE
; Clean up resources
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_ImageDispose($hImage)
_GDIPlus_ShutDown()
; Draw PNG image
Func MY_WM_PAINT($hWnd, $Msg, $wParam, $lParam)
_WinAPI_RedrawWindow($hGUI, 0, 0, $RDW_UPDATENOW)
_GDIPlus_GraphicsDrawImage($hGraphic, $hImage, 0, 0)
_WinAPI_RedrawWindow($hGUI, 0, 0, $RDW_VALIDATE)
Return $GUI_RUNDEFMSG
EndFunc
bulldog5293 сказал(а):И что мне остаётся делать если с форматом PNG и мне и нужно будет работать?
#include <GuiConstantsEx.au3>
#include <GDIPlus.au3>
#include <ScreenCapture.au3>
Opt('MustDeclareVars', 1)
_Main()
Func _Main()
Local $hGUI1, $hImage, $hGraphic1
; Capture top left corner of the screen
; Create a GUI for the zoomed image
$hGUI1 = GUICreate("Zoomed", 400, 300, 0, 400)
GUISetState()
; Initialize GDI+ library and load image
_GDIPlus_Startup ()
$hImage = _GDIPlus_ImageLoadFromFile ("c:\Captcha.gif")
; Draw 2x zoomed image
$hGraphic1 = _GDIPlus_GraphicsCreateFromHWND ($hGUI1)
_GDIPlus_GraphicsDrawImageRectRect ($hGraphic1, $hImage, 0, 0, 200, 200, 0, 0, 400, 300)
; Release resources
_GDIPlus_GraphicsDispose ($hGraphic1)
_GDIPlus_ImageDispose ($hImage)
_GDIPlus_Shutdown ()
; Clean up screen shot file
; Loop until user exits
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc ;==>_Main
bulldog5293 сказал(а):В гугле я нашёл что GDI+ может использовать связку ntoskrnl.exe hal.dll >> ntdll.dll \ _ kernel32.dll user32.dll gdi32.dll, и то что писать его нада на СИ, нужно ли мне будет для этого переписывать код Си на AutoIT или нет?
#NoTrayIcon
#Include <GUIConstantsEx.au3>
#Include <StaticConstants.au3>
#Include <Icons.au3>
$sText = 'AutoIt v3 - это язык для написания сценариев, напоминающий BASIC и предназначенный для автоматизации ' & _
'Windows GUI (графического интерфейса пользователя MS Windows). Его возможности - это методы симуляций ' & _
'нажатий комбинаций клавиш клавиатуры и мыши, функции управления окнами и его визуальными элементами. ' & _
'Решение, явно предлагаемое средствами AutoIt v3, его сценарием, обычно невозможно достичь коротким и ' & _
'понятным кодом какого-либо языка.'
$hForm = GUICreate('AutoIt3', 460, 200)
$ButtonExit = GUICtrlCreateButton('OK', 195, 166, 70, 23)
GUICtrlSetState(-1, BitOR($GUI_DEFBUTTON, $GUI_FOCUS))
GUICtrlCreateLabel($sText, 150, 14, 296, 132)
GUICtrlSetFont(-1, 8.5, 400, 0, 'MS Shell Dlg')
$Pic = GUICtrlCreatePic('', 15, 15, 120, 120)
GUICtrlSetCursor($Pic, 0)
$ButtonSet = GUICtrlCreateButton('Set Image', 28, 142, 94, 20)
GUISetState()
While 1
$Msg = GUIGetMsg()
Switch $Msg
Case $GUI_EVENT_CLOSE
ExitLoop
Case $Pic
ShellExecute('http://autoit-script.ru')
Case $ButtonSet
InetGet('http://autoit-script.ru/avatars/AutoIt_Avatars/AutoIt New Gray Avatar.png', @TempDir & '\~AutoIt3.png')
_SetImage($Pic, @TempDir & '\~AutoIt3.png')
FileDelete(@TempDir & '\~AutoIt3.png')
Case $ButtonExit
ExitLoop
EndSwitch
WEnd
_SetImage($Pic, @TempDir & '\~AutoIt3.png')
^ ERROR
bulldog5293 сказал(а):С чем это связанно?
Значит скрипт не находит файл. В папке со скриптом он есть?Ошибка другая