指定した順序で、指定した分量だけローカル ジオメトリック変換をスケールします。
Overloads Public Sub ScaleTransform( _
ByVal sx As Single, _ ByVal sy As Single, _ ByVal order As MatrixOrder _)
[C#]
public void ScaleTransform(floatsx,floatsy,MatrixOrderorder);
[C++]
public: void ScaleTransform(floatsx,floatsy,MatrixOrderorder);
[JScript]
public function ScaleTransform(
sx : float,sy : float,order : MatrixOrder);
パラメータ
- sx
x 軸方向に変換をスケールする量。 - sy
y 軸方向に変換をスケールする量。 - order
スケール行列を後に適用するか、前に適用するかを指定する MatrixOrder 列挙体。
使用例
[Visual Basic, C#] 次の例は、Windows フォームでの使用を意図してデザインされており、 OnPaint イベントのオブジェクトである PaintEventArgs e が必要です。このコードは次のアクションを実行します。
- 新しい LinearGradientBrush オブジェクトを作成します。
- ブラシを使用して画面に楕円を描画します。
- LinearGradientBrush オブジェクトを x 軸方向に 2 倍スケールします。
- スケールされたブラシを使用して、最初の楕円のすぐ下にもう 1 つ楕円を画面に描画します。
[Visual Basic, C#] 下の楕円のグラデーションは、2 倍に拡大されます。また、 TranslateTransform メソッドを呼び出すことで、グラデーションの塗りつぶしの左端が、楕円の左端と揃えられます。
Public Sub ScaleTransformExample(e As PaintEventArgs)
' Create a LinearGradientBrush.
Dim myRect As New Rectangle(20, 20, 200, 100)
Dim myLGBrush As New LinearGradientBrush(myRect, Color.Blue, _
Color.Red, 0F, True)
' Draw an ellipse to the screen using the LinearGradientBrush.
e.Graphics.FillEllipse(myLGBrush, myRect)
' Scale the LinearGradientBrush.
myLGBrush.ScaleTransform(2F, 1F, MatrixOrder.Prepend)
' Rejustify the brush to start at the left edge of the ellipse.
myLGBrush.TranslateTransform(- 20F, 0F)
' Draw a second ellipse to the screen using the transformed brush.
e.Graphics.FillEllipse(myLGBrush, 20, 150, 200, 100)
End Sub
[C#]
private void ScaleTransformExample(PaintEventArgs e)
{
// Create a LinearGradientBrush.
Rectangle myRect = new Rectangle(20, 20, 200, 100);
LinearGradientBrush myLGBrush = new LinearGradientBrush(
myRect,
Color.Blue,
Color.Red,
0.0f,
true);
// Draw an ellipse to the screen using the LinearGradientBrush.
e.Graphics.FillEllipse(myLGBrush, myRect);
// Scale the LinearGradientBrush.
myLGBrush.ScaleTransform(
2.0f,
1.0f,
MatrixOrder.Prepend);
// Rejustify the brush to start at the left edge of the ellipse.
myLGBrush.TranslateTransform(-20.0f, 0.0f);
// Draw a second ellipse to the screen using
// the transformed brush.
e.Graphics.FillEllipse(myLGBrush, 20, 150, 200, 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 ファミリ
参照
LinearGradientBrush クラス | LinearGradientBrush メンバ | System.Drawing.Drawing2D 名前空間 | LinearGradientBrush.ScaleTransform オーバーロードの一覧