Matrix.Shear メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
傾斜ベクターを前に付加することで、指定した傾斜ベクターをこの Matrix に適用します。
オーバーロード
Shear(Single, Single, MatrixOrder) |
指定した順序で、指定した傾斜ベクターをこの Matrix に適用します。 |
Shear(Single, Single) |
傾斜変換を前に付加することで、指定した傾斜ベクターをこの Matrix に適用します。 |
Shear(Single, Single, MatrixOrder)
- ソース:
- Matrix.cs
- ソース:
- Matrix.cs
- ソース:
- Matrix.cs
指定した順序で、指定した傾斜ベクターをこの Matrix に適用します。
public:
void Shear(float shearX, float shearY, System::Drawing::Drawing2D::MatrixOrder order);
public void Shear (float shearX, float shearY, System.Drawing.Drawing2D.MatrixOrder order);
member this.Shear : single * single * System.Drawing.Drawing2D.MatrixOrder -> unit
Public Sub Shear (shearX As Single, shearY As Single, order As MatrixOrder)
パラメーター
- shearX
- Single
水平方向の傾斜係数。
- shearY
- Single
垂直方向の傾斜係数。
- order
- MatrixOrder
傾斜を適用する順序 (前後どちらに付加するか) を指定する MatrixOrder。
例
例については、「Shear(Single, Single)」を参照してください。
注釈
このメソッドで適用される変換は、パラメーターの 1 つが 0 の場合にのみ純粋なせん断です。 原点の四角形に適用され、係数が 0 の場合 shearY
、変換は四角形の高さを倍にして shearX
下端を水平方向に移動します。 係数が shearX
0 の場合、四角形の幅の倍だけ shearY
右端が垂直方向に移動します。 両方のパラメーターが 0 以外の場合は、結果の予測が困難であるため、注意が必要です。 たとえば、両方の因子が 1 の場合、変換は単数形 (したがって変換不可) であり、平面全体を 1 本の線に絞り込んでいます。
適用対象
Shear(Single, Single)
- ソース:
- Matrix.cs
- ソース:
- Matrix.cs
- ソース:
- Matrix.cs
傾斜変換を前に付加することで、指定した傾斜ベクターをこの Matrix に適用します。
public:
void Shear(float shearX, float shearY);
public void Shear (float shearX, float shearY);
member this.Shear : single * single -> unit
Public Sub Shear (shearX As Single, shearY As Single)
パラメーター
- shearX
- Single
水平方向の傾斜係数。
- shearY
- Single
垂直方向の傾斜係数。
例
次のコード例は、Windows フォームで使用するように設計されており、イベント オブジェクトがPaint必要PaintEventArgse
です。 このコードでは、次のアクションが実行されます。
スケーリング変換を適用する前に、緑色のペンを使用して画面に四角形を描画します。
赤いペンを使用して別の四角形を描画します。
青いペンを使用して楕円を描画します。
結果は、緑色の四角形、赤い平行四辺形、および変換された青い楕円です。 (変換を設定する前に描画される) 緑色の四角形は、呼び出しで指定された座標を DrawRectangle 直接使用していることに注意してください。 他の 2 つの図形は、描画前に変換されます。 四角形は平行四辺形 (赤) に変換され、楕円 (青) は変換された平行四辺形に合わせて変換されます。 四角形の下部が x 軸で四角形の高さの 2 倍だけ移動 (せん断) されるので、平行四辺形が形成されます。
public:
void MatrixShearExample( PaintEventArgs^ e )
{
Matrix^ myMatrix = gcnew Matrix;
myMatrix->Shear( 2, 0 );
e->Graphics->DrawRectangle( gcnew Pen( Color::Green ), 0, 0, 100, 50 );
e->Graphics->MultiplyTransform( myMatrix );
e->Graphics->DrawRectangle( gcnew Pen( Color::Red ), 0, 0, 100, 50 );
e->Graphics->DrawEllipse( gcnew Pen( Color::Blue ), 0, 0, 100, 50 );
}
public void MatrixShearExample(PaintEventArgs e)
{
Matrix myMatrix = new Matrix();
myMatrix.Shear(2, 0);
e.Graphics.DrawRectangle(new Pen(Color.Green), 0, 0, 100, 50);
e.Graphics.MultiplyTransform(myMatrix);
e.Graphics.DrawRectangle(new Pen(Color.Red), 0, 0, 100, 50);
e.Graphics.DrawEllipse(new Pen(Color.Blue), 0, 0, 100, 50);
}
Public Sub MatrixShearExample(ByVal e As PaintEventArgs)
Dim myMatrix As New Matrix
myMatrix.Shear(2, 0)
e.Graphics.DrawRectangle(New Pen(Color.Green), 0, 0, 100, 50)
e.Graphics.MultiplyTransform(myMatrix)
e.Graphics.DrawRectangle(New Pen(Color.Red), 0, 0, 100, 50)
e.Graphics.DrawEllipse(New Pen(Color.Blue), 0, 0, 100, 50)
End Sub
注釈
このメソッドで適用される変換は、パラメーターの 1 つが 0 の場合にのみ純粋なせん断です。 原点の四角形に適用され、係数が 0 の場合 shearY
、変換は四角形の高さを倍にして shearX
下端を水平方向に移動します。 係数が shearX
0 の場合、四角形の幅の倍だけ shearY
右端が垂直方向に移動します。 両方のパラメーターが 0 以外の場合は、結果の予測が困難であるため、注意が必要です。 たとえば、両方の因子が 1 の場合、変換は単数形 (したがって変換不可) であり、平面全体を 1 本の線に絞り込んでいます。
適用対象
.NET
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示