Функция _GDIPlus_GraphicsDrawImageRectRectIA

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


_GDIPlus_GraphicsDrawImageRectRectIA

Рисует исходное изображение преобразуя его в заданный размер прямоугольника

#Include <GDIP.au3>
_GDIPlus_GraphicsDrawImageRectRectIA($hGraphics, $hImage, $nSrcX, $nSrcY, $nSrcWidth, $nSrcHeight, $nDstX, $nDstY, $nDstWidth, $nDstHeight[, $hImageAttributes = 0[, $iUnit = 2]])

Параметры

$hGraphics Указатель на объект Graphics
$hImage Указатель на объект Image
$ISrcX X-координата левого верхнего угла исходного изображения
$ISrcY Y-координата левого верхнего угла исходного изображения
$ISrcWidth Ширина исходного изображения
$ISrcHeight Высота исходного изображения
$IDstX X-координата левого верхнего угла преобразованного изображения
$IDstY Y-координата левого верхнего угла преобразованного изображения
$IDstWidth Ширина преобразованного изображения
$IDstHeight Высота преобразованного изображения
$hImageAttributes [необязательный] Указатель на объект ImageAttributes, который определяет атрибуты цвета и размера изображения
$iUnit [необязательный] Единицы измерения:
    0 - Универсальные координаты, нефизическая единица
    1 - Display units (Отображаемые единицы)
    2 - единица 1 пиксель
    3 - единица 1 пункт или 1/72 дюйма
    4 - единица 1 дюйм
    5 - единица 1/300 дюйма
    6 - единица 1 миллиметр

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

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

См. также

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

Пример

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

Local $hBitmap, $hBmp, $hGraphics, $hGUI, $iDHeight, $iDWidth

_GDIPlus_Startup()

$iWidth = @DesktopWidth / 3
$iHeight = @DesktopHeight / 3

$hGUI = GUICreate("Рисует изображение в прямоугольнике", $iWidth, $iHeight)

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

; Делает снимок левой верхней части экрана
$hBmp = _ScreenCapture_Capture("", 0, 0, $iWidth, $iHeight, False)

; Создаёт объект GDI+ Bitmap из объекта GDI Bitmap
$hBitmap = _GDIPlus_BitmapCreateFromHBITMAP($hBmp)

GUISetState()

; Рисует изображение в указанном прямоугольнике
_GDIPlus_GraphicsDrawImageRectRectIA($hGraphics, $hBitmap, 0, 0, @DesktopWidth / 6, @DesktopHeight / 6, 0, 0, $iWidth, $iHeight) ; Увеличенное
Sleep(1000)
_GDIPlus_GraphicsDrawImageRectRectIA($hGraphics, $hBitmap, 0, 0, $iWidth, $iHeight, 0, 0, @DesktopWidth / 6, @DesktopHeight / 6) ; Уменьшенное

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE

_GDIPlus_ImageDispose($hBitmap)
_GDIPlus_GraphicsDispose($hGraphics)

_GDIPlus_Shutdown()