Я пытаюсь уменьшить размеры изображений, например 100px X 100px до 50px X 50px. Я пробую код, но он увеличивает размер изображения, например 270kb до 700kb. Есть идеи?Уменьшение размеров изображений без увеличения размера .net
Стараюсь два метода и имеют один и тот же результат:
public void ResizeImage()
{
Image img = Image.FromFile("~/Images/image.jpg");
double imgHeight = img.Size.Height;
double imgWidth = img.Size.Width;
double x = 0.5;
//New sizes
int newWidth = Convert.ToInt32(imgWidth * x);
int newHeight = Convert.ToInt32(imgHeight * x);
Image.GetThumbnailImageAbort myCallback = new Image.GetThumbnailImageAbort(ThumbnailCallback);
Image myThumbnail = img.GetThumbnailImage(newWidth, newHeight, myCallback, IntPtr.Zero);
//Save
myThumbnail.Save("~/Images/image.jpg");
}
public bool ThumbnailCallback()
{
return false;
}
public void ResizeImage2()
{
Image img = Image.FromFile("~/Images/image.jpg");
double imgHeight = img.Size.Height;
double imgWidth = img.Size.Width;
double x = 0.5;
//Seteo nuevos tamaños
int newWidth = Convert.ToInt32(imgWidth * x);
int newHeight = Convert.ToInt32(imgHeight * x);
Bitmap b = new Bitmap(newWidth, newHeight);
Graphics g = Graphics.FromImage((Image)b);
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.DrawImage(img, 0, 0, newWidth, newHeight);
g.Dispose();
b.Save("~/Images/image.jpg");
}
Благодарности
если увеличить размер изображения, имеется больше данных, поэтому увеличение размера практически неизбежно. Вы можете снизить качество за счет увеличения сжатия. – Plutonix
@Plutonix он уменьшает его – Artiom