行列を自身と平行移動行列の積で更新します。
#Include <GDIPlus.au3>
_GDIPlus_MatrixTranslate($hMatrix, $fOffsetX, $fOffsetY[, $bAppend = False])
パラメータ
$hMatrix | Matrixオブジェクトのハンドル |
$fOffsetX | X軸方向の追加ピクセル数 |
$fOffsetY | Y軸方向の追加ピクセル数 |
$bAppend | [オプション]乗算順序を指定します: True - 平行移動行列を左から乗じます False - 平行移動行列を右から乗じます |
返し値
成功: | True |
失敗: | False |
注意
なし。
関連
こちらも参照
MSDNライブラリでGdipTranslateMatrixを検索して下さい。
例
#include <GUIConstantsEx.au3>
#include <GDIPlus.au3>
; GUI作成
$hWnd = GUICreate("GDI+ Example", 400, 300)
GUISetState()
; GDI+を開始
_GDIPlus_Startup()
$hGraphics = _GDIPlus_GraphicsCreateFromHWND($hWnd)
$hMatrix = _GDIPlus_MatrixCreate()
; 行列を中心に向かう方向に幅の半分と高さの半分移動
_GDIPlus_MatrixTranslate($hMatrix, 200, 150)
_GDIPlus_MatrixRotate($hMatrix, 45)
_GDIPlus_GraphicsSetTransform($hGraphics, $hMatrix)
$hPen = _GDIPlus_PenCreate(0xFF00FF00, 10)
_GDIPlus_GraphicsClear($hGraphics)
; GUIの左上隅あたりに描画。行列を平行移動させるとオブジェクトはGUIの中心に表示される
_GDIPlus_GraphicsDrawRect($hGraphics, -50, -50, 100, 100, $hPen)
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
; リソースを破棄
_GDIPlus_PenDispose($hPen)
_GDIPlus_MatrixDispose($hMatrix)
_GDIPlus_GraphicsDispose($hGraphics)
_GDIPlus_Shutdown()