_GDIPlus_ImageAttributesSetOutputChannel
Устанавливает или сбрасывает выходной канал CMYK (голубой, пурпурный, желтый и черный) для указанной категории
#Include <GDIP.au3>
_GDIPlus_ImageAttributesSetOutputChannel($hImageAttributes[, $iColorAdjustType = 0[, $fEnable = False[, $iColorChannelFlags = 4]]])
Параметры
$hImageAttributes | Указатель на объект ImageAttribute |
$iColorAdjustType |
[необязательный] Категория, для которой устанавливается или сбрасывается выходной канал: 0 - Настройки цвета применяются для всех категорий, у которых нет собственных настроек 1 - Настройки цвета применяются для bitmap изображений 2 - Настройки цвета применяются для операций кисти в метафайлах 3 - Настройки цвета применяются для операций карандаша в метафайлах 4 - Настройки цвета применяются для текста в метафайлах |
$fEnable |
[необязательный] Флаг установки или очистки выходного канала для указанной категории True - Устанавливает False - Очищает |
$iColorChannelFlags |
[необязательный] Выходной канал, может быть комбинацией следующего: 0 - Голубой (Cyan) 1 - Пурпурный (Magenta) 2 - Желтый (Yellow) 3 - Черный (Black) 4 - Предыдущий выбранный канал |
Возвращаемое значение
Успех: | Возвращает True |
Ошибка: | Возвращает False, либо: |
Если ошибка DllCall(), устанавливает @error и @extended возвращённые вызовом DllCall() | |
$GDIP_STATUS содержит не нулевое значение кода ошибки. |
См. также
Искать GdipSetImageAttributesOutputChannel в библиотеке MSDNПример
#include <GDIP.au3>
#include <GUIConstantsEx.au3>
#include <ScreenCapture.au3>
_Example()
Func _Example()
Local $hGUI, $hGraphics, $hBmp, $hBitmap, $hIA, $iWidth, $iHeight, $aSize
; Инициализирует библиотеку GDI+
_GDIPlus_Startup()
; Создаёт GUI (нажмите ESC для выхода)
$hGUI = GUICreate("", @DesktopWidth, @DesktopHeight)
; Создаёт графический объект из дескриптора окна
$hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI)
; Делает снимок экрана
$hBmp = _ScreenCapture_Capture("", 0, 0, -1, -1, False)
; Создаёт объект GDI+ Bitmap из объекта GDI Bitmap
$hBitmap = _GDIPlus_BitmapCreateFromHBITMAP($hBmp)
; Получает размеры изображения
$aSize = _GDIPlus_ImageGetDimension($hBitmap)
$iWidth = $aSize[0]
$iHeight = $aSize[1]
GUISetState()
; Устанавливает режим интерполяции высокого качества, бикубической интерполяции. Обеспечивает высокого качество для рисования уменьшенного изображения
_GDIPlus_GraphicsSetInterpolationMode($hGraphics, 7)
; Создаёт объект ImageAttribute для применения установок
$hIA = _GDIPlus_ImageAttributesCreate()
; Рисует изображение, показывающее интенсивность голубого канала
_GDIPlus_ImageAttributesSetOutputChannel($hIA, 1, True, 0) ; Голубой (Cyan)
_GDIPlus_GraphicsDrawImageRectRectIA($hGraphics, $hBitmap, 0, 0, $iWidth, $iHeight, 0, 0, @DesktopWidth / 2, @DesktopHeight / 2, $hIA)
; Рисует изображение, показывающее интенсивность пурпурного канала
_GDIPlus_ImageAttributesSetOutputChannel($hIA, 1, True, 1) ; Пурпурный (Magenta)
_GDIPlus_GraphicsDrawImageRectRectIA($hGraphics, $hBitmap, 0, 0, $iWidth, $iHeight, @DesktopWidth / 2, 0, @DesktopWidth / 2, @DesktopHeight / 2, $hIA)
; Рисует изображение, показывающее интенсивность жёлтого канала
_GDIPlus_ImageAttributesSetOutputChannel($hIA, 1, True, 2) ; Жёлтый (Yellow)
_GDIPlus_GraphicsDrawImageRectRectIA($hGraphics, $hBitmap, 0, 0, $iWidth, $iHeight, 0, @DesktopHeight / 2, @DesktopWidth / 2, @DesktopHeight / 2, $hIA)
; Рисует изображение, показывающее интенсивность чёрного канала
_GDIPlus_ImageAttributesSetOutputChannel($hIA, 1, True, 3) ; Чёрный (Black)
_GDIPlus_GraphicsDrawImageRectRectIA($hGraphics, $hBitmap, 0, 0, $iWidth, $iHeight, @DesktopWidth / 2, @DesktopHeight / 2, @DesktopWidth / 2, @DesktopHeight / 2, $hIA)
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
; Освобождает ресурсы
_GDIPlus_ImageAttributesDispose($hIA)
_WinAPI_DeleteObject($hBmp)
_GDIPlus_ImageDispose($hBitmap)
_GDIPlus_GraphicsDispose($hGraphics)
; Закрывает библиотеку GDI+
_GDIPlus_Shutdown()
EndFunc ;==>_Example