Lire en anglais

Partager via


Matrix.Shear Méthode

Définition

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.

C#
public void Shear (float shearX, float shearY);

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.

C#
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);
}

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 à

.NET 9 et autres versions
Produit Versions
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

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é.

C#
public void Shear (float shearX, float shearY, System.Drawing.Drawing2D.MatrixOrder order);

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.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9