Загрузка изображения в память - C#
Формулировка задачи:
Есть загрузка файла на прямую в picturebox. Нужно чтоб картинка сначала загружалась в память, а далее уже в picturebox.
Это нужно для того чтоб получить возможность сохранять файл с заменой.
Вот код:
Впервые работаю с памятью, а чтоб научиться - нужно увидеть код и понять как он работает...
Заранее примного благодарен.
Листинг программы
- private void metroButton19_Click(object sender, EventArgs e)
- {
- OpenFileDialog dialog1 = new OpenFileDialog();
- dialog1.Filter = "Все изображения (*.JPG;*.PNG;*.JPEG;*.PNG)|*.JPG;*.PNG;*.JPEG;*.PNG";
- dialog1.Title = "Выбор файла...";
- if (dialog1.ShowDialog() == DialogResult.OK)
- {
- images1 = new Bitmap(dialog1.FileName);
- textBox16.Text = dialog1.FileName;
- }
- pictureBox1.Image = images1;
- }
Решение задачи: «Загрузка изображения в память»
textual
Листинг программы
- private void Button3_Click(object sender, EventArgs e)
- {
- string image1 = TextBox1.Text;
- string image2 = TextBox2.Text;
- //Размеры первой картинки
- Bitmap result = new Bitmap(images1);
- //Далее для подгона
- using (Graphics graphics = Graphics.FromImage(result))
- {
- //Качество
- graphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
- graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
- graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
- //Добавляем изображение 2 в изображение 1
- graphics.DrawImage(Image.FromFile(image1), 0, 0, result.Width, result.Height);
- Image img = Image.FromFile(image2);
- graphics.DrawImage(img, 0, 0, img.Width / ((float)images2.Width / images1.Width * (metroTrackBar1.Value / 5)), img.Height / ((float)images2.Height / images1.Height * (metroTrackBar1.Value / 5)));
- }
- pictureBox3.Image = result;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д