Загрузка изображения в память - C#

Узнай цену своей работы

Формулировка задачи:

Есть загрузка файла на прямую в picturebox. Нужно чтоб картинка сначала загружалась в память, а далее уже в picturebox. Это нужно для того чтоб получить возможность сохранять файл с заменой. Вот код:
Листинг программы
  1. private void metroButton19_Click(object sender, EventArgs e)
  2. {
  3. OpenFileDialog dialog1 = new OpenFileDialog();
  4. dialog1.Filter = "Все изображения (*.JPG;*.PNG;*.JPEG;*.PNG)|*.JPG;*.PNG;*.JPEG;*.PNG";
  5. dialog1.Title = "Выбор файла...";
  6. if (dialog1.ShowDialog() == DialogResult.OK)
  7. {
  8. images1 = new Bitmap(dialog1.FileName);
  9. textBox16.Text = dialog1.FileName;
  10. }
  11. pictureBox1.Image = images1;
  12. }
Впервые работаю с памятью, а чтоб научиться - нужно увидеть код и понять как он работает... Заранее примного благодарен.

Решение задачи: «Загрузка изображения в память»

textual
Листинг программы
  1.         private void Button3_Click(object sender, EventArgs e)
  2.         {
  3.             string image1 = TextBox1.Text;
  4.             string image2 = TextBox2.Text;
  5.  
  6.             //Размеры первой картинки
  7.             Bitmap result = new Bitmap(images1);
  8.             //Далее для подгона
  9.             using (Graphics graphics = Graphics.FromImage(result))
  10.             {
  11.                 //Качество
  12.                 graphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
  13.                 graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
  14.                 graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
  15.                 //Добавляем изображение 2 в изображение 1
  16.                 graphics.DrawImage(Image.FromFile(image1), 0, 0, result.Width, result.Height);
  17.                 Image img = Image.FromFile(image2);
  18.                 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)));
  19.             }
  20.             pictureBox3.Image = result;
  21.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы