Matrix.Shear Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Applique le vecteur de cisaillement spécifié à cette Matrix en prédéfinissant le vecteur de cisaillement.
Surcharges
Shear(Single, Single) |
Applique le vecteur de cisaillement spécifié à cette Matrix en prédéfinissant la transformation de shérifie. |
Shear(Single, Single, MatrixOrder) |
Applique le vecteur de cisaillement spécifié à cette Matrix dans l’ordre spécifié. |
Shear(Single, Single)
- Source:
- Matrix.cs
- Source:
- Matrix.cs
- Source:
- Matrix.cs
- Source:
- Matrix.cs
- Source:
- Matrix.cs
Applique le vecteur de cisaillement spécifié à cette Matrix en prédéfinissant la transformation de shérifie.
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)
Paramètres
- shearX
- Single
Facteur de shérif horizontal.
- shearY
- Single
Facteur de shérif vertical.
Exemples
L’exemple de code suivant est conçu pour être utilisé avec Windows Forms et nécessite PaintEventArgse
, un objet d’événement Paint. Le code effectue l’action suivante :
Dessine un rectangle à l’écran, à l’aide d’un stylet vert, avant d’appliquer une transformation de mise à l’échelle.
Crée un Matrix et l’utilise pour définir une transformation de coordonnée mondiale pour le Graphics.
Dessine un autre rectangle à l’aide d’un stylet rouge.
Dessine un ellipse à l’aide d’un stylet bleu.
Le résultat est un rectangle vert, un parallélisme rouge et un ellipse bleu transformé. Notez que le rectangle vert (dessiné avant de définir la transformation) utilise directement les coordonnées fournies dans l’appel DrawRectangle. Les deux autres figures sont transformées avant le dessin. Le rectangle est transformé en parallélisme (rouge), et l’ellipse (bleu) est transformé pour s’adapter à l’parallélisme transformé. Notez que le bas du rectangle est déplacé (sécateur) dans l’axe des x par un facteur de deux fois la hauteur du rectangle, formant ainsi le parallélisme.
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
Remarques
La transformation appliquée dans cette méthode est un shérif pur uniquement si l’un des paramètres est 0. Appliquée à un rectangle à l’origine, lorsque le facteur shearY
est 0, la transformation déplace le bord inférieur horizontalement par shearX
fois la hauteur du rectangle. Lorsque le facteur shearX
est égal à 0, il déplace verticalement le bord droit par shearY
fois la largeur du rectangle. La prudence est dans l’ordre lorsque les deux paramètres ne sont pas zéro, car les résultats sont difficiles à prédire. Par exemple, si les deux facteurs sont 1, la transformation est singulière (par conséquent non inversée), en mettant le plan entier en une seule ligne.
S’applique à
Shear(Single, Single, MatrixOrder)
- Source:
- Matrix.cs
- Source:
- Matrix.cs
- Source:
- Matrix.cs
- Source:
- Matrix.cs
- Source:
- Matrix.cs
Applique le vecteur de cisaillement spécifié à cette Matrix dans l’ordre spécifié.
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)
Paramètres
- shearX
- Single
Facteur de shérif horizontal.
- shearY
- Single
Facteur de shérif vertical.
- order
- MatrixOrder
Un MatrixOrder qui spécifie l’ordre (ajout ou prépendant) dans lequel le shérif est appliqué.
Exemples
Pour obtenir un exemple, consultez Shear(Single, Single).
Remarques
La transformation appliquée dans cette méthode est un shérif pur uniquement si l’un des paramètres est 0. Appliquée à un rectangle à l’origine, lorsque le facteur shearY
est 0, la transformation déplace le bord inférieur horizontalement par shearX
fois la hauteur du rectangle. Lorsque le facteur shearX
est égal à 0, il déplace verticalement le bord droit par shearY
fois la largeur du rectangle. La prudence est dans l’ordre lorsque les deux paramètres ne sont pas zéro, car les résultats sont difficiles à prédire. Par exemple, si les deux facteurs sont 1, la transformation est singulière (par conséquent non inversée), en mettant le plan entier en une seule ligne.