Resize af billede kommer til at fylde for meget
Jeg prøver at resize mine billeder, så de ikke fylder så meget.Problemet ligger i at de kommer til at fylde mere end originalen, selvom at der er færre pixels på det nye. Hvad er det lige jeg laver forkert?
string dir = Server.MapPath(directoryPath + "\\Mediumsize\\");
string src = Path.Combine(directoryPath, filename);
string dest = Path.Combine(directoryPath + "\\Mediumsize\\", filename);
System.Drawing.Image image = System.Drawing.Image.FromFile(Server.MapPath(src));
int srcWidth = image.Width;
int srcHeight = image.Height;
Graphics g = Graphics.FromImage(image);
Decimal sizeRatio = ((Decimal)srcHeight / srcWidth);
int Width = 640;
int Height = Decimal.ToInt32(sizeRatio * Width);
System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(Width, Height);
System.Drawing.Graphics gr = System.Drawing.Graphics.FromImage(bmp);
gr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
gr.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
gr.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
System.Drawing.Rectangle rectDestination = new System.Drawing.Rectangle(0, 0, Width, Height);
gr.DrawImage(image, rectDestination, 0, 0, srcWidth, srcHeight, System.Drawing.GraphicsUnit.Pixel);
string destination = Server.MapPath(dest);
bmp.Save(destination);
bmp.Dispose();
image.Dispose();