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


_GDIPlus_MatrixScale

Обновляет матрицу с продуктом в себе и масштабирует матрицу

#include <GDIPlus.au3>
_GDIPlus_MatrixScale($hMatrix, $fScaleX, $fScaleY [, $bOrder = False])

Параметры

$hMatrix Дескриптор объекта Matrix
$fScaleX Множитель для изменения масштаба оси x
$fScaleY Множитель для изменения масштаба оси y
$bOrder [необязательный] Указывает порядок умножения:
    True - Указывает, что масштабирование матрицы влево
    False - Указывает, что масштабирование матрицы вправо

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

Успех:Возвращает True
Ошибка:Возвращает False

См. также

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

Пример

#include <GUIConstants.au3>
#include <ScreenCapture.au3>
#include <WinAPI.au3>

; Создаёт GUI
$hWnd = GUICreate("GDI+ Example", 500, 500)
GUISetState()

; Start GDI+
_GDIPlus_Startup()
$hGraphics = _GDIPlus_GraphicsCreateFromHWND($hWnd)
_GDIPlus_GraphicsClear($hGraphics)

; Take Screenshot at bottom left of screen
$hScreenCap_hBitmap = _ScreenCapture_Capture("", 0, @desktopheight - 500, 500, @DesktopHeight)
$hScreenCap_Bitmap = _GDIPlus_BitmapCreateFromHBITMAP($hScreenCap_hBitmap)

$hMatrix = _GDIPlus_MatrixCreate()
; Scale the matrix by 2 (everything will get 2x larger)
_GDIPlus_MatrixScale($hMatrix, 2.0, 2.0)


_GDIPlus_GraphicsSetTransform($hGraphics, $hMatrix)
_GDIPlus_GraphicsDrawImageRect($hGraphics, $hScreenCap_Bitmap, 0, 0, 500, 500)

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE

; Очищает ресурсы
_WinAPI_DeleteObject($hScreenCap_hBitmap)
_GDIPlus_BitmapDispose($hScreenCap_Bitmap)
_GDIPlus_MatrixDispose($hMatrix)
_GDIPlus_GraphicsDispose($hGraphics)
_GDIPlus_Shutdown()