quinta-feira, 21 de julho de 2011

Redimensionar imagem C#

public void RedimensionarImagem(string OriginalFile, string NewFile, int NewWidth, int MaxHeight, bool OnlyResizeIfWider)
{
System.Drawing.Image FullsizeImage = System.Drawing.Image.FromFile(OriginalFile);

FullsizeImage.RotateFlip(System.Drawing.RotateFlipType.Rotate180FlipNone);
FullsizeImage.RotateFlip(System.Drawing.RotateFlipType.Rotate180FlipNone);

if (OnlyResizeIfWider)
{
if (FullsizeImage.Width <= NewWidth)
{
NewWidth = FullsizeImage.Width;
}
}

int NewHeight = FullsizeImage.Height * NewWidth / FullsizeImage.Width;
if (NewHeight > MaxHeight)
{
NewWidth = FullsizeImage.Width * MaxHeight / FullsizeImage.Height;
NewHeight = MaxHeight;
}

System.Drawing.Image NewImage = FullsizeImage.GetThumbnailImage(NewWidth, NewHeight, null, IntPtr.Zero);

FullsizeImage.Dispose();
//Onde esta (long)50 refere-se a qualidade que poderá seer alterada conforme necessidade
EncoderParameter ep = new EncoderParameter(Encoder.Quality, (long)50);
EncoderParameters eps = new EncoderParameters(1);
eps.Param[0] = ep;
ImageCodecInfo ic;
ic = GetEncoderInfo("image/jpeg");

NewImage.Save(NewFile, ic, eps);
}

Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.