_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