Функция _GDIPlus_ColorMatrixCreateGrayScale

         Описание функции


_GDIPlus_ColorMatrixCreateGrayScale

Создаёт матрицу цвета с масштабированием в серый

#Include <GDIP.au3>
_GDIPlus_ColorMatrixCreateGrayScale ()

Возвращаемое значение

Успех:Возвращает структуру $tagGDIPCOLORMATRIX с матрицей цвета с масштабированием в серый
Ошибка:Возвращает 0

См. также

См. также

Искать ColorMatrix в библиотеке MSDN

Пример

#include <GDIP.au3>
#include <GUIConstantsEx.au3>
#include <ScreenCapture.au3>

_Example()

Func _Example()
    Local $hGUI, $hGraphics, $hBmp, $hBitmap, $tColorMatrix, $pColorMatrix, $hIA
    Local Const $iWidth = 600, $iHeight = 600

    ; Инициализирует библиотеку GDI+
    _GDIPlus_Startup()

    ; Создаёт GUI (нажмите ESC для выхода)
    $hGUI = GUICreate("", $iWidth, $iHeight)

    ; Создаёт графический объект из дескриптора окна
    $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI)

    ; Делает снимок левой верхней части экрана
    $hBmp = _ScreenCapture_Capture("", 0, 0, $iWidth, $iHeight)

    ; Создаёт объект GDI+ Bitmap из объекта GDI Bitmap
    $hBitmap = _GDIPlus_BitmapCreateFromHBITMAP($hBmp)

    ; Создаёт объект градаций серого ImageAttributes
    $hIA = _GDIPlus_ImageAttributesCreate()

    ; Создаёт цветовую матрицу градаций серого
    $tColorMatrix = _GDIPlus_ColorMatrixCreateGrayScale()
    $pColorMatrix = DllStructGetPtr($tColorMatrix)

    ; Устанавливает цвета изображения в градации серого
    _GDIPlus_ImageAttributesSetColorMatrix($hIA, 0, True, $pColorMatrix)

    GUISetState()

    ; Устанавливает режим интерполяции, влияющий на качество
    _GDIPlus_GraphicsSetInterpolationMode($hGraphics, 7)

    ; Рисует изображение устанавливая цветовую матрицу градаций серого
    _GDIPlus_GraphicsDrawImageRectRectIA($hGraphics, $hBitmap, 0, 0, $iWidth, $iHeight, 0, 0, $iWidth, $iHeight, $hIA)

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    ; Освобождает ресурсы
    _GDIPlus_ImageAttributesDispose($hIA)
    _WinAPI_DeleteObject($hBmp)
    _GDIPlus_ImageDispose($hBitmap)
    _GDIPlus_GraphicsDispose($hGraphics)

    ; Закрывает библиотеку GDI+
    _GDIPlus_Shutdown()
EndFunc