#c# #image #panel #draw
#c# #изображение #панель #рисовать
Вопрос:
У меня есть панель, на которой я рисую изображения при нажатии кнопки. Но при втором нажатии кнопки ранее нарисованное изображение заменяется новым изображением.
void panel_Image_Paint(object sender, PaintEventArgs e)
{
if (Clipboard.ContainsImage())
{
Point p1 = new Point(i, 0);
e.Graphics.DrawImage(Clipboard.GetImage(), p1);
i = img.Width;
}
}
Я хочу сохранить ранее нарисованное изображение на панели, когда рисуется новое изображение. Буфер обмена обновляется при каждом нажатии кнопки новым изображением. Любая помощь была бы высоко оценена!!!!
Спасибо..
Ответ №1:
Я не уверен, как на самом деле работает событие рисования и что приводит к исчезновению ваших изображений, но вы можете попробовать добавить свои изображения в список, а затем выполнить цикл по списку, чтобы все ваши изображения отображались на панели. Попробуйте этот код:
int i = 0;
List<Image> Images = new List<Image>();
private void panel1_Paint(object sender, PaintEventArgs e)
{
if (Clipboard.ContainsImage())
{
Images.Add(Clipboard.GetImage());
foreach (Image item in Images)
{
e.Graphics.DrawImage(item, new Point(i,0));
i = Clipboard.GetImage().Width;
}
}
i = 0;
}
Не забудьте вызвать функцию Invalidate.
private void button1_Click(object sender, EventArgs e)
{
panel1.Invalidate();
}