Загрузка изображения в память - 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;
        }

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


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

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

7   голосов , оценка 4 из 5
Похожие ответы