指定した順序を使用して、指定したスケール ベクタ (scaleX と scaleY) をこの Matrix オブジェクトに適用します。
Overloads Public Sub Scale( _
ByVal scaleX As Single, _ ByVal scaleY As Single, _ ByVal order As MatrixOrder _)
[C#]
public void Scale(floatscaleX,floatscaleY,MatrixOrderorder);
[C++]
public: void Scale(floatscaleX,floatscaleY,MatrixOrderorder);
[JScript]
public function Scale(
scaleX : float,scaleY : float,order : MatrixOrder);
パラメータ
- scaleX
Matrix を x 軸方向にスケールする値。 - scaleY
Matrix を y 軸方向にスケールする値。 - order
Matrix にスケール ベクタを適用する順序 (前後どちらに付加するか) を指定する MatrixOrder 列挙体。
使用例
[Visual Basic, C#] 次の例は、Windows フォームでの使用を意図してデザインされており、 OnPaint イベントのオブジェクトである PaintEventArgs e が必要です。このコードは次のアクションを実行します。
- スケーリングの変換を適用する前に、画面に四角形を描画します (青い四角形)。
- 行列を作成し、それを x 軸方向に 3 倍、y 軸方向に 2 倍だけスケールします。
- この行列変換を四角形に適用します。
- 変形した四角形を画面に描画します (赤い四角形)。
[Visual Basic, C#] 赤い四角形は、四角形の左上隅 (四角形の開始点) を含めて x 軸方向に 3 倍、y 軸方向に 2 倍スケールされます。
Public Sub ScaleExample(e As PaintEventArgs)
Dim myPen As New Pen(Color.Blue, 1)
Dim myPen2 As New Pen(Color.Red, 1)
' Draw the rectangle to the screen before applying the
' transform.
e.Graphics.DrawRectangle(myPen, 50, 50, 100, 100)
' Create a matrix and scale it.
Dim myMatrix As New Matrix()
myMatrix.Scale(3, 2, MatrixOrder.Append)
' Draw the rectangle to the screen again after applying the
' transform.
e.Graphics.Transform = myMatrix
e.Graphics.DrawRectangle(myPen2, 50, 50, 100, 100)
End Sub
[C#]
public void ScaleExample(PaintEventArgs e)
{
Pen myPen = new Pen(Color.Blue, 1);
Pen myPen2 = new Pen(Color.Red, 1);
// Draw the rectangle to the screen before applying the
// transform.
e.Graphics.DrawRectangle(myPen, 50, 50, 100, 100);
// Create a matrix and scale it.
Matrix myMatrix = new Matrix();
myMatrix.Scale(3, 2, MatrixOrder.Append);
// Draw the rectangle to the screen again after applying the
// transform.
e.Graphics.Transform = myMatrix;
e.Graphics.DrawRectangle(myPen2, 50, 50, 100, 100);
}
[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
Matrix クラス | Matrix メンバ | System.Drawing.Drawing2D 名前空間 | Matrix.Scale オーバーロードの一覧