アットウィキロゴ

「Direct2D」の編集履歴(バックアップ)一覧はこちら

Direct2D - (2012/07/07 (土) 15:36:08) の1つ前との変更点

追加された行は緑色になります。

削除された行は赤色になります。

・Direct2D  DirectXのDirect2Dでは、アフィン変換(線形変換)がサポートされている。  座標(X,Y)に対して、変換行列を乗算して、アフィン変換を行う。 ---- ・アフィン変換  P・M=P'  現在の座標Pに変換行列Mを乗算して、線形変換後の座標P'を作成する。 ①オブジェクトの変換前の各座標:1行×3列  P[X Y 1] ②変換行列:3行×2列   ┌M11(初期値:1) M12(初期値:0)┐  M│M21(初期値:0) M32(初期値:1)│   └M31(初期値:0) M33(初期値:0)┘ ③オブジェクトの変換後の各座標:1行×2列  P'[X' Y']  X'=X×M11+Y×M21+1×M31(初期値:X×1+Y×0+1×0 =X)  Y'=X×M12+Y×M22+1×M32(初期値:X×0+Y×1+1×0 =Y) ---- ・回転:Rotate  指定した角度と中心点を持つ回転 変換  Matrix3x2F Rotation(   FLOAT angle,   D2D1_POINT_2F centerPoint  );  angle:回転角度(度単位,正の角度の場合は時計回り,負の角度の場合は反時計回り)  centerPoint:回転の中心点   x:中心点のX座標   y:中心点のY座標 ---- ・拡大/縮小:Scale  指定したX軸方向およびY軸方向の拡大/縮小率と中心点を持つ拡大/縮小 変換  Matrix3x2F Scale(   D2D1_SIZE_F size,    FLOAT width,    FLOAT height   D2D1_POINT_2F centerPoint    FLOAT x,    FLOAT y  );  size:   width:サイズの水平成分(幅)   height:サイズの垂直成分(高さ)  centerPoint:拡大/縮小の中心点   x:中心点のX座標   y:中心点のY座標 ---- ・傾斜:Skew  指定したX軸値・Y軸値および中心点を持つ傾斜 変換  Matrix3x2F Skew(   FLOAT angleX,   FLOAT angleY,   D2D1_POINT_2F centerPoint    FLOAT x,    FLOAT y  );  angleX:X軸の傾斜角度(Y軸からの反時計回りの度単位)  angleY:Y軸の傾斜角度(X軸からの反時計回りの度単位)  centerPoint:傾斜の中心点   x:中心点のX座標   y:中心点のY座標 ---- ・平行移動:Translate  指定したX軸方向およびY軸方向の変位を持つ移動 変換  Matrix3x2F Translation(   D2D1_SIZE_F size    FLOAT x,    FLOAT y  );  size   x:X軸方向の変位   y:Y軸方向の変位 ---- [[画像変換]] ----
・Direct2D  DirectXのDirect2Dでは、[[アフィン変換]](線形変換)がサポートされている。  座標(X,Y)に対して、変換行列を乗算して、アフィン変換を行う。 ---- ・アフィン変換  P・M=P'  現在の座標Pに変換行列Mを乗算して、線形変換後の座標P'を作成する。 ①オブジェクトの変換前の各座標:1行×3列  P[X Y 1] ②変換行列:3行×2列   ┌M11(初期値:1) M12(初期値:0)┐  M│M21(初期値:0) M32(初期値:1)│   └M31(初期値:0) M33(初期値:0)┘ ③オブジェクトの変換後の各座標:1行×2列  P'[X' Y']  X'=X×M11+Y×M21+1×M31(初期値:X×1+Y×0+1×0 =X)  Y'=X×M12+Y×M22+1×M32(初期値:X×0+Y×1+1×0 =Y) ---- ・回転:Rotate  指定した角度と中心点を持つ回転 変換  Matrix3x2F Rotation(   FLOAT angle,   D2D1_POINT_2F centerPoint  );  angle:回転角度(度単位,正の角度の場合は時計回り,負の角度の場合は反時計回り)  centerPoint:回転の中心点   x:中心点のX座標   y:中心点のY座標 ---- ・拡大/縮小:Scale  指定したX軸方向およびY軸方向の拡大/縮小率と中心点を持つ拡大/縮小 変換  Matrix3x2F Scale(   D2D1_SIZE_F size,    FLOAT width,    FLOAT height   D2D1_POINT_2F centerPoint    FLOAT x,    FLOAT y  );  size:   width:サイズの水平成分(幅)   height:サイズの垂直成分(高さ)  centerPoint:拡大/縮小の中心点   x:中心点のX座標   y:中心点のY座標 ---- ・傾斜:Skew  指定したX軸値・Y軸値および中心点を持つ傾斜 変換  Matrix3x2F Skew(   FLOAT angleX,   FLOAT angleY,   D2D1_POINT_2F centerPoint    FLOAT x,    FLOAT y  );  angleX:X軸の傾斜角度(Y軸からの反時計回りの度単位)  angleY:Y軸の傾斜角度(X軸からの反時計回りの度単位)  centerPoint:傾斜の中心点   x:中心点のX座標   y:中心点のY座標 ---- ・平行移動:Translate  指定したX軸方向およびY軸方向の変位を持つ移動 変換  Matrix3x2F Translation(   D2D1_SIZE_F size    FLOAT x,    FLOAT y  );  size   x:X軸方向の変位   y:Y軸方向の変位 ---- [[画像変換]] ----

表示オプション

横に並べて表示:
変化行の前後のみ表示: