2011-05-11 2 views
2

Вместо того, чтобы устанавливать изображение с использованием свойства «background», я хотел бы нарисовать изображение, используя класс Graphics на панели. Как я могу сделать это на C# .Net?графическая панель в C#

+0

Какая у вас платформа? WinForms? WPF? Silverlight? – Gabe

+0

Вы хотите, чтобы вы нарисовали на панели вручную вместо того, чтобы присваивать изображение свойству фона? Почему вы пытаетесь заново изобрести колесо? Вы можете установить и очистить изображение во время выполнения, используя свойство background. Наверное, я не вижу выгоды. Можете ли вы объяснить рассуждения немного больше? – IAmTimCorey

ответ

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); 
    } 
} 
Смежные вопросы