_GDIPlus_ImageAttributesSetOutputChannelColorProfile
Устанавливает или отменяет файл цветового профиля для выходного канала указанной категории
#Include <GDIP.au3>
_GDIPlus_ImageAttributesSetOutputChannelColorProfile($hImageAttributes[, $iColorAdjustType = 0[, $fEnable = False[, $sFileName = 0]]])
Параметры
$hImageAttributes | Указатель на объект ImageAttribute |
$iColorAdjustType |
[необязательный] Категория, для которой устанавливается или отменяется файл цветового профиля для выходного канала: 0 - Настройки цвета или градации серого применяются для всех категорий, у которых нет собственных настроек 1 - Настройки цвета или градации серого применяются для bitmap изображений 2 - Настройки цвета или градации серого применяются для операций кисти в метафайлах 3 - Настройки цвета или градации серого применяются для операций карандаша в метафайлах 4 - Настройки цвета или градации серого применяются для текста в метафайлах |
$fEnable |
[необязательный] Флаг установки или отмены файла цветового профиля True - Устанавливает False - Отменяет |
$sFileName |
[необязательный] Имя файла или полный путь к файлу цветового профиля (см. примечание) |
Возвращаемое значение
Успех: | Возвращает True |
Ошибка: | Возвращает False, либо: |
Если ошибка DllCall(), устанавливает @error и @extended возвращённые вызовом DllCall() | |
$GDIP_STATUS содержит не нулевое значение кода ошибки. |
Примечания
Если файл цветового профиля находится в папке %SystemRoot%\System32\Spool\Drivers\Color, то параметр $sFileName может быть только именем файла, иначе необходимо указать полный путь к файлуСм. также
Искать GdipSetImageAttributesOutputChannelColorProfile в библиотеке 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_ImageAttributesSetOutputChannelColorProfile($hIA, 1, True, "sRGB Color Space Profile.icm")
; Рисует изображение, показывающее интенсивность голубого канала
_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