Function Reference

_GDIPlus_MatrixTranslate

行列を自身と平行移動行列の積で更新します。

#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()