_GDIPlus_ImageAttributesCreate
Создаёт объект ImageAttributes
#Include <GDIP.au3>
_GDIPlus_ImageAttributesCreate()
Возвращаемое значение
Успех: | Возвращает указатель на новый объект ImageAttribute |
Ошибка: | Возвращает 0, либо: |
Если ошибка DllCall(), устанавливает @error и @extended возвращённые вызовом DllCall() | |
$GDIP_STATUS содержит не нулевое значение кода ошибки. |
Примечания
После завершения использования объекта вызовите _GDIPlus_ImageAttributesDispose, чтобы освободить ресурсы объектаСм. также
_GDIPlus_ImageAttributesDisposeПример
; Authenticity
; http://www.autoitscript.com/forum/index.php?showtopic=106021
#include <GDIP.au3>
#include <GUIConstantsEx.au3>
#include <ScreenCapture.au3>
_Example()
Func _Example()
Local $hGUI, $hGraphics, $hBmp, $hBitmap, $hIA, $tColorMatrix, $pColorMatrix, $iWidth, $iHeight, $aSize
; Инициализирует библиотеку GDI+
_GDIPlus_Startup()
; Создаёт GUI (нажмите ESC для выхода)
$hGUI = GUICreate("Создаёт объект ImageAttribute", @DesktopWidth / 2, @DesktopHeight*2/3)
; Создаёт графический объект из дескриптора окна
$hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI)
; Делает снимок левой верхней части экрана
$hBmp = _ScreenCapture_Capture("", 0, 0, @DesktopWidth / 2, @DesktopHeight / 3, False)
; Создаёт объект GDI+ Bitmap из объекта GDI Bitmap
$hBitmap = _GDIPlus_BitmapCreateFromHBITMAP($hBmp)
; Создаёт объект ImageAttribute
$hIA = _GDIPlus_ImageAttributesCreate()
; Создаёт цветную матрицу, используемую для регулирования цвета изображения
; Используйте перемещение цветовой матрицы для увеличения яркости изображения
$tColorMatrix = _GDIPlus_ColorMatrixCreateTranslate(0.15, 0.15, 0.15)
$pColorMatrix = DllStructGetPtr($tColorMatrix)
; Устанавливает матрицу цвета в объект ImageAttribute
_GDIPlus_ImageAttributesSetColorMatrix($hIA, 0, True, $pColorMatrix)
GUISetState()
; Получает размеры изображения
$aSize = _GDIPlus_ImageGetDimension($hBitmap)
$iWidth = $aSize[0]
$iHeight = $aSize[1]
; Устанавливает режим интерполяции, влияющий на качество
_GDIPlus_GraphicsSetInterpolationMode($hGraphics, 7)
; Рисует изображение в указанном прямоугольнике
_GDIPlus_GraphicsDrawImageRect($hGraphics, $hBitmap, 0, 0, @DesktopWidth / 2, @DesktopHeight / 3)
; Рисует изображение с применением регулировки цвета
_GDIPlus_GraphicsDrawImageRectRectIA($hGraphics, $hBitmap, 0, 0, $iWidth, $iHeight, 0, @DesktopHeight / 3, @DesktopWidth / 2, @DesktopHeight / 3, $hIA)
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
; Освобождает ресурсы
_GDIPlus_ImageAttributesDispose($hIA)
_WinAPI_DeleteObject($hBmp)
_GDIPlus_ImageDispose($hBitmap)
_GDIPlus_GraphicsDispose($hGraphics)
; Закрывает библиотеку GDI+
_GDIPlus_Shutdown()
EndFunc ;==>_Example