Comment recadrer et redimensionner l'image en une seule étape .NET

J'ai un fichier Image que je voudrais recadrer et redimensionner en même temps en utilisant le Système.Classe de dessin

Je suis en train de construire sur les idées contenues dans cet article :http://www.schnieds.com/2011/07/image-upload-crop-and-resize-with.html

Je suis en mesure de Recadrer et de Redimensionner séparément mais quand j'essaye de combiner le processus, je suis arriver de drôles de sortie.

Voici ce que j'ai essayé

using (System.Drawing.Bitmap _bitmap = new System.Drawing.Bitmap(w, h))
{
    _bitmap.SetResolution(img.HorizontalResolution, img.VerticalResolution);
    using (Graphics _graphic = Graphics.FromImage(_bitmap))
    {
        _graphic.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
        _graphic.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
        _graphic.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality;
        _graphic.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;

        //Code used to crop
        _graphic.DrawImage(img, 0, 0, w, h);
        _graphic.DrawImage(img, new Rectangle(0, 0, w, h), x, y, w, h, GraphicsUnit.Pixel);

        //Code I used to resize
        _graphic.DrawImage(img, 0, 0, img.Width, img.Height);
        _graphic.DrawImage(img, new Rectangle(0, 0, W_FixedSize, H_FixedSize), 0, 0, img.Width, img.Height, GraphicsUnit.Pixel);



       //continued...
    }
}

Dans le code ci-dessus...il y a deux sections commenté...une culture et un pour les redimensionner.

Pour le recadrage, je passe dans la bonne coords et la largeur/hauteur de la partie de l'image à découper(x, y, w, h).

Je voudrais des cultures basées sur mes paramètres et dessiner l'image en fonction de la W_FixedSize et H_Fixed taille params.

  • vous pouvez regarder le code source de imager.codeplex.com (environ 100 lignes) ou l'utiliser comme une dll
InformationsquelleAutor stephen776 | 2012-01-24