Как изменить размер изображения без растягивания/искажения в C#?
Я пытаюсь изменить размер изображения до фиксированного размера, но оно каждый раз искажается.
Что я уже пробовал:
Это мой код.
using System; using System.Drawing; using System.Windows.Forms; namespace ThumbnailImg { public partial class Form1 : Form { Image imgThumb; public Form1() { InitializeComponent(); } public Image ImgThumb { get => imgThumb; set => imgThumb = value; } private void btnOpen_Click(object sender, EventArgs e) { if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) { txtFileNm.Text = openFileDialog1.FileName; MessageBox.Show("Image Uploaded"); } } private void btnSave_Click(object sender, EventArgs e) { try { Image image = null; // Check if textbox has a value if (txtFileNm.Text != String.Empty) image = Image.FromFile(txtFileNm.Text); // Check if image exists if (image != null) { ImgThumb = image.GetThumbnailImage(100, 100, null, new IntPtr()); this.Refresh(); ImgThumb.Save("C:\\Users\\Acer\\Pictures\\Camera Roll\\thumbnail.jpg"); MessageBox.Show("Image saved successfully"); } } catch { MessageBox.Show("An error occured"); } } private void Form1_Paint(object sender, PaintEventArgs e) { if (ImgThumb != null) e.Graphics.DrawImage(ImgThumb, 30, 20, ImgThumb.Width, ImgThumb.Height); } } }