Question

Je ne sais pas si la question est trop triviale mais j'ai besoin d'utiliser le Suivant surcharge de la méthode Graphics.DrawImage:

public void DrawImage(
    Image image,
    PointF[] destPoints,
    RectangleF srcRect,
    GraphicsUnit srcUnit,
    ImageAttributes imageAttr
)

j'ai un RectangleF Comme rectangle de destination, j'ai donc besoin de convertir le RectangleF à PointF[] mais le Exemple dans le MSDN M'a confondu un peu car il n'utilise que trois points pour définir un parallélogramme.

Comment pourrais-je le faire?

Merci d'avance

Était-ce utile?

La solution 2

Ok, je l'ai trouvé dans le MSDN:

Le paramètre destpoint spécifie trois points d'un parallélogramme. Les trois structures PointF représentent le en haut à gauche, En haut à droite, et en bas à gauche coins du parallélogramme. Le quatrième point est extrapolé des trois premiers pour former un parallélogramme.

Vous pouvez donc construire votre tableau de points de la manière suivante:

    private PointF[] GetPoints(RectangleF rectangle)
    {
        return new PointF[3]
        { 
            new PointF(rectangle.Left, rectangle.Top),
            new PointF(rectangle.Right, rectangle.Top),
            new PointF(rectangle.Left, rectangle.Bottom)
        };
    }

Autres conseils

Ne pourriez-vous pas le créer en construisant simplement le tableau?

(Depuis la mémoire) où d est la destination rectanglef:

destPoints[] = new PointF[4] { new PointF(d.Left, d.Top), new PointF(d.Right, d.Top), new PointF(d.Right, d.Bottom), new PointF(d.Left, d.Bottom) };
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top