Функция _GDIPlus_GraphicsDrawImagePointsRect

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


_GDIPlus_GraphicsDrawImagePointsRect

Рисует изображение

#Include <GDIP.au3>
_GDIPlus_GraphicsDrawImagePointsRect($hGraphics, $hImage, $nULX, $nULY, $nURX, $nURY, $nLLX, $nLLY, $nSrcX, $nSrcY, $nSrcWidth, $nSrcHeight[, $iUnit = 2[, $hImageAttributes = 0]])

Параметры

$hGraphics Указатель на объект Graphics
$hImage Указатель на объект Image
$nULX X-координата левого верхнего угла исходного изображения
$nULY Y-координата левого верхнего угла исходного изображения
$nURX X-координата правого верхнего угла исходного изображения
$nURY Y-координата правого верхнего угла исходного изображения
$nLLX X-координата левого нижнего угла исходного изображения
$nLLY Y-координата левого нижнего угла исходного изображения
$nSrcX X-координата левого верхнего угла части исходного изображения, чтобы рисовать
$nSrcY Y-координата левого верхнего угла части исходного изображения, чтобы рисовать
$nSrcWidth Ширина части исходного изображения, чтобы рисовать
$nSrcHeight Высота части исходного изображения, чтобы рисовать
$iUnit [необязательный] Единица измерения:
0 - Мировые координаты, нефизическая единица
1 - Единицы дисплея
2 - Единица в 1 пиксель
3 - Единица в 1 точку, или 1/72 дюйма
4 - Единица в 1 дюйм
5 - Единица в 1/300 дюйма
6 - Единица в 1 миллиметр
$hImageAttributes [необязательный] Указатель на объект ImageAttributes, который определяет атрибуты цвета и размера рисуемого изображения

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

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

См. также

Пример

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

_Example()

Func _Example()
    Local $hGUI
    Local $hGraphics, $hBrush, $hContext, $hBitmap, $hIA, $aColorMap[2][2], $iI, $iJ, $iClr

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

    $hGUI = GUICreate("Рисует изображение", 400, 200)
    GUISetState()

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

    ; Создаёт объект Bitmap размером 180x120
    $hBitmap = _GDIPlus_BitmapCreateFromScan0(180, 120)

    ; Получает графический контекст изображения, чтобы рисовать в нём
    $hContext = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    _GDIPlus_GraphicsClear($hContext)

    For $iI = 0 To 5
        For $iJ = 0 To 3
            Switch Mod($iI+$iJ, 3)
                Case 0
                    $iClr = 0xFFFF0000
                Case 1
                    $iClr = 0xFF00FF00
                Case Else
                    $iClr = 0xFF0000FF
            EndSwitch
           
            _GDIPlus_BrushSetFillColor($hBrush, $iClr) ; Устанавливает цвет заполнения сплошной кистью
            _GDIPlus_GraphicsFillRect($hContext, $iI*30, $iJ*30, 30, 30, $hBrush) ; Рисует заполненный прямоугольник
        Next
    Next

    ; Создаёт объект ImageAttribute для настройки цветов изображения
    $hIA = _GDIPlus_ImageAttributesCreate()

    ; Создаёт таблицу подмены цветов, которая заменяет красные цвета желтыми
    $aColorMap[0][0] = 1
    $aColorMap[1][0] = 0xFFFF0000 ; Красный
    $aColorMap[1][1] = 0xFFFFFF00 ; Жёлтый

    _GDIPlus_ImageAttributesSetRemapTable($hIA, 0, True, $aColorMap)

    ; Рисует исходное изображение
    _GDIPlus_GraphicsDrawImage($hGraphics, $hBitmap, 5, 5)
    ; Рисует обрезанное изображение
    _GDIPlus_GraphicsDrawImagePointsRect($hGraphics, $hBitmap, 220, 5, 370, 5, 190, 125, 0, 0, 180, 120, 2, $hIA)

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

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

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