#c# #graphics #panel
#c# #графика #панель
Вопрос:
Вместо настройки изображения с помощью свойства ‘background’ я хотел бы нарисовать изображение с помощью класса Graphics на панели. Как я могу это сделать в C#.Net ?
Комментарии:
1. Какая у вас платформа? WinForms? WPF? Silverlight?
2. Вы хотите сказать, что хотите рисовать на панели вручную вместо того, чтобы присваивать изображение свойству background? Зачем вам пытаться заново изобрести колесо? Вы можете настроить и очистить изображение во время выполнения, используя свойство background. Наверное, я не вижу в этом пользы. Не могли бы вы немного подробнее объяснить ход рассуждений?
Ответ №1:
вы можете попробовать следующий фрагмент кода.
public class ImagePanel:Panel
{
private Image image;
public Image Image
{
get { return image; }
set
{
image = value;
Refresh();
}
}
protected override void OnPaint(PaintEventArgs e)
{
if(Image!=null)
{
e.Graphics.DrawImage(this.Image,Point.Empty);
}
base.OnPaint(e);
}
}
Ответ №2:
Используйте System.Drawing.Graphics
класс для рисования объектов.
Подробности :http://msdn.microsoft.com/en-us/library/system.drawing.graphics.aspx связано с рисованием
пример : http://www.techotopia.com/index.php/Drawing_Graphics_in_C_Sharp