@NikSIk31

PictureBox сохраняет пустым?

Не сохраняет то, что нарисовано в пикчербокс

Рисую так
Graphics g = pictureBox1.CreateGraphics();
            Pen a = new Pen(Color.Red, 6);

            g.DrawRectangle(a, 100, 100, 50, 100);


Сохраняю так
Bitmap bm = new Bitmap(pictureBox1.Width, pictureBox1.Height);
            pictureBox1.DrawToBitmap(bm, new Rectangle(0, 0, bm.Width, bm.Height));

            SaveFileDialog sfd = new SaveFileDialog();

            if (sfd.ShowDialog() == DialogResult.OK)
            {
                bm.Save(sfd.FileName);
            }


сохраняет всю область из бокса, только пустую без содержимого
  • Вопрос задан
  • 296 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Av-IT
Разработчик и админ SQL, консультант
int w = 200; int h = 200;
pictureBox1.Width = w;
pictureBox1.Height = h;

pictureBox1.Image = new Bitmap(w, h);

Pen a = new Pen(Color.Red, 6);
using (Graphics g = Graphics.FromImage(bm))
{
g.FillRectangle(new SolidBrush(Color.White), 0, 0, w, h); // Белый фон пусть будет
g.DrawRectangle(a, 100, 100, 50, 100); // Красный прямоугольник
}

if (sfd.ShowDialog() == DialogResult.OK)
pictureBox1.Image.Save(sfd.FileName);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы