LinearGradientBrush.ScaleTransform メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ローカル ジオメトリック変換を指定した量だけスケーリングします。 このメソッドは、変換の前にスケーリング マトリックスを追加します。
オーバーロード
ScaleTransform(Single, Single) |
ローカル ジオメトリック変換を指定した量だけスケーリングします。 このメソッドは、変換の前にスケーリング マトリックスを追加します。 |
ScaleTransform(Single, Single, MatrixOrder) |
指定した順序で、指定した量だけローカル ジオメトリック変換をスケーリングします。 |
ScaleTransform(Single, Single)
ローカル ジオメトリック変換を指定した量だけスケーリングします。 このメソッドは、変換の前にスケーリング マトリックスを追加します。
public:
void ScaleTransform(float sx, float sy);
public void ScaleTransform (float sx, float sy);
member this.ScaleTransform : single * single -> unit
Public Sub ScaleTransform (sx As Single, sy As Single)
パラメーター
- sx
- Single
x 軸方向に変換をスケーリングする量。
- sy
- Single
変換を y 軸方向にスケーリングする量。
例
例については、ScaleTransformを参照してください。
適用対象
ScaleTransform(Single, Single, MatrixOrder)
指定した順序で、指定した量だけローカル ジオメトリック変換をスケーリングします。
public:
void ScaleTransform(float sx, float sy, System::Drawing::Drawing2D::MatrixOrder order);
public void ScaleTransform (float sx, float sy, System.Drawing.Drawing2D.MatrixOrder order);
member this.ScaleTransform : single * single * System.Drawing.Drawing2D.MatrixOrder -> unit
Public Sub ScaleTransform (sx As Single, sy As Single, order As MatrixOrder)
パラメーター
- sx
- Single
x 軸方向に変換をスケーリングする量。
- sy
- Single
変換を y 軸方向にスケーリングする量。
- order
- MatrixOrder
スケーリング マトリックスを追加するか先頭に追加するかを指定する MatrixOrder。
例
次のコード例は、Windows フォームで使用できるように設計されており、OnPaint イベント オブジェクトである PaintEventArgse
が必要です。 このコードは、次のアクションを実行します。
新しい LinearGradientBrushを作成します。
このブラシを使用して、画面に楕円を描画します。
x 軸の 2 倍の係数で LinearGradientBrush をスケーリングします。
拡大/縮小されたブラシを使用して、最初の楕円のすぐ下の画面に楕円を描画します。
下の楕円のグラデーションが 2 の係数で引き伸ばされていることに注意してください。 また、グラデーションの塗りつぶしの左端を楕円の左端に揃えるために、TranslateTransform メソッドの呼び出しが使用されていることにも注意してください。
private:
void ScaleTransformExample( PaintEventArgs^ e )
{
// Create a LinearGradientBrush.
Rectangle myRect = Rectangle(20,20,200,100);
LinearGradientBrush^ myLGBrush = gcnew 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 );
}
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);
}
Public Sub ScaleTransformExample(ByVal 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, 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)
End Sub
適用対象
.NET