2013-11-08 3 views
3
Graphics g = new Graphics(); 

Я пытался создать графический объект для рисования в Windows From Application, но по какой-то причине класс Graphics() не имеет конструктора. Как создать новый объект для g. тогда?Тип 'System.Drawing.Graphics' не имеет конструкторов

+0

вы должны загрузить графику из чего-то, иначе не инициализируйте экземпляр – Sam

+0

@Sam Что вы имеете в виду, загрузив его? У меня уже есть System.Drawing; – puretppc

+0

Функция draw передаст ее вам как обычно. –

ответ

2

Прочитайте документацию для класса в MSDN

Вы можете получить объект Graphics, вызвав метод Control.CreateGraphics на объекте, который наследует от System.Windows.Forms.Control, или путем обработки элемента управления Control.Paint и доступ к свойству Graphics в классе System.Windows.Forms.PaintEventArgs. Вы также можете создать объект Graphics с изображения с помощью метода FromImage. Дополнительные сведения о создании объекта Graphics см. В разделе Практическое руководство. Создание графических объектов для рисования.

0

Продолжая отличный ответ по xbonez ...

CreateGraphics() почти никогда не правильный подход.

Если вы используете событие Paint(), для вас есть графика, предоставленная вами с помощью аргументов, обычно в форме e.Graphics.

Если у вас есть изображение или растровое изображение, вы можете использовать Graphics.FromImage() для получения графики для рисования на изображении.

Есть примеры из них на странице this.

+2

Важно отметить, что если вы создаете Графика из одного из методов, отличных от события Paint ***, убедитесь, что *** вы располагаете графическим объектом (просто убедитесь, что его поместили в использование), вы можете получить 'OutOfMemoryException', когда у вас заканчиваются ресурсы GDI +, если вы этого не сделаете. –

Смежные вопросы