Функция _GDIPlus_ImageRotateFlip

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


_GDIPlus_ImageRotateFlip

Поворачивает и/или зеркально отражает изображение

#Include <GDIP.au3>
_GDIPlus_ImageRotateFlip($hImage, $iRotateFlipType)

Параметры

$hImage Указатель на объект Image
$iRotateFlipType Флаг задаёт угол поворота и отражение:
0 - Без вращения и зеркального отображения (Поворот на 180°, горизонтальное, а затем и вертикальное отражение)
1 - Поворот на 90° без зеркального отображения (Поворот на 270°, горизонтальное, а затем и вертикальное отражение)
2 - Поворот на 180° без зеркального отображения (Без вращения, горизонтальное, а затем и вертикальное отражение)
3 - Поворот на 270° без зеркального отображения (Поворот на 90°, горизонтальное, а затем и вертикальное отражение)
4 - Без вращения и горизонтальное отражение (Поворот на 180° с последующим вертикальным отражением)
5 - Поворот на 90° с последующим горизонтальным отражением (Поворот на 270° с последующим вертикальным отражением)
6 - Поворот на 180° с последующим горизонтальным отражением (Без вращения и вертикальное отражение)
7 - Поворот на 270° с последующим горизонтальным отражением (Поворот на 90° с последующим вертикальным отражением)

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

Успех:Возвращает True
Ошибка:Возвращает False, либо:
Если ошибка DllCall(), устанавливает @error и @extended возвращённые вызовом DllCall()
$GDIP_STATUS содержит не нулевое значение кода ошибки.

См. также

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

Пример

#include <GDIP.au3>
#include <GUIConstants.au3>

; Извлекает путь к AutoIt
Local $Wow64
If @AutoItX64 Then $Wow64 = "\Wow6432Node"
Local $AutoItDir = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE" & $Wow64 & "\AutoIt v3\AutoIt", "InstallDir")

_GDIPlus_Startup()

$hGUI = GUICreate("Поворачивает изображение", 380, 300)

$hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI)
$hImage = _GDIPlus_ImageLoadFromFile($AutoItDir & '\Examples\GUI\msoobe.jpg')

; Поворачивает изображение на угол 180 градусов
_GDIPlus_ImageRotateFlip($hImage, 2)

Local $tMatrix = _GDIPlus_ColorMatrixCreate()
;Local $tMatrix = _GDIPlus_ColorMatrixCreateNegative()
Local $pColorMatrix = DllStructGetPtr($tMatrix)

; Матрица насыщенности цвета
Local $saturation = _GDIPlus_ColorMatrixCreateSaturation(0.5)
; Умножает матрицу цвета
_GDIPlus_ColorMatrixMultiply($tMatrix, $saturation)

; Создает объект ImageAttributes
$hIA = _GDIPlus_ImageAttributesCreate()
; Устанавливает матрицу цвета
_GDIPlus_ImageAttributesSetColorMatrix($hIA, 0, True, $pColorMatrix)

GUISetState()

; Рисует изображение в указанном прямоугольнике
_GDIPlus_GraphicsDrawImageRectRectIA($hGraphics, $hImage, 0, 0, 1024, 768, 0, 0, 380, 300, $hIA)

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE

_GDIPlus_ImageAttributesDispose($hIA)
_GDIPlus_ImageDispose($hImage)
_GDIPlus_GraphicsDispose($hGraphics)

_GDIPlus_Shutdown()