L'enregistrement en jpeg à partir de memorystream en c#

J'ai une méthode comme indiqué ci-dessous pour enregistrer l'image comme jpeg.
Je veux enregistrer toutes les images avec la même hauteur et la largeur, sans qu'il se déforme.

Comment puis-je le faire?
S'il vous plaît aider

public void SaveFileOnDisk(MemoryStream ms, string FileName)
{
    try
    {
        string appPath = HttpContext.Current.Request.ApplicationPath;
        string physicalPath = HttpContext.Current.Request.MapPath(appPath);
        string strpath = physicalPath + "\\Images";
        string WorkingDirectory = strpath;


        System.Drawing.Image imgSave = System.Drawing.Image.FromStream(ms);
        Bitmap bmSave = new Bitmap(imgSave);
        Bitmap bmTemp = new Bitmap(bmSave);

        Graphics grSave = Graphics.FromImage(bmTemp);
        grSave.DrawImage(imgSave, 0, 0, imgSave.Width, imgSave.Height);

        bmTemp.Save(WorkingDirectory + "\\" + FileName + ".jpg");


        imgSave.Dispose();
        bmSave.Dispose();
        bmTemp.Dispose();
        grSave.Dispose();
    }
    catch (Exception ex)
    {
        //lblMsg.Text = "Please try again later.";
    }

}
Pouvez-vous expliquer ce que tu veux dire "à la même hauteur et la largeur sans faire faussée"? Si les photographies originales ont un ratio d'aspect différent (c'est à dire, la ration de largeur-hauteur) de votre sortie dimensions, vous ont distorsion. Vos seules options pour éviter la distorsion sont (1) des bandes noires avec une bordure sur un seul côté ou de l'autre ou (2) avoir votre destination taille être un "fixe" de dimension et d'une dimension qui change en fonction de la photo d'origine de l'aspect ratio.
Ce n'est pas vraiment possible maintenant, est-il? Si vous obtenez un 400 x 300 image et une autre qui est de 400 x 100 vous ne pouvez pas enregistrer avec la même taille sans distorsion quelque chose. Vous pourriez letterbox ceux qui ne s'adaptent pas, utiliser des Graphiques.DrawImage().
pourquoi ne pas accepter une réponse

OriginalL'auteur acadia | 2012-05-19