Graphics.FromImage(Image) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
public:
static System::Drawing::Graphics ^ FromImage(System::Drawing::Image ^ image);
public static System.Drawing.Graphics FromImage(System.Drawing.Image image);
static member FromImage : System.Drawing.Image -> System.Drawing.Graphics
Public Shared Function FromImage (image As Image) As Graphics
Параметры
Возвращаемое значение
Этот метод возвращает новую Graphics для указанного Image.
Исключения
image
null.
image имеет индексированные пиксельные форматы или его формат не определен.
Примеры
Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse, который является параметром обработчика событий Paint. Код выполняет следующее действие:
Создает Image из графического файла SampImag.jpg в папке примера.
Изменяет изображение, заполняя прямоугольник внутри него.
Рисует Image на экран.
Освобождает созданный Graphics.
public:
void FromImageImage( PaintEventArgs^ e )
{
// Create image.
Image^ imageFile = Image::FromFile( "SampImag.jpg" );
// Create graphics object for alteration.
Graphics^ newGraphics = Graphics::FromImage( imageFile );
// Alter image.
newGraphics->FillRectangle( gcnew SolidBrush( Color::Black ), 100, 50, 100, 100 );
// Draw image to screen.
e->Graphics->DrawImage( imageFile, PointF(0.0F,0.0F) );
// Dispose of graphics object.
delete newGraphics;
}
private void FromImageImage(PaintEventArgs e)
{
// Create image.
Image imageFile = Image.FromFile("SampImag.jpg");
// Create graphics object for alteration.
Graphics newGraphics = Graphics.FromImage(imageFile);
// Alter image.
newGraphics.FillRectangle(new SolidBrush(Color.Black), 100, 50, 100, 100);
// Draw image to screen.
e.Graphics.DrawImage(imageFile, new PointF(0.0F, 0.0F));
// Dispose of graphics object.
newGraphics.Dispose();
}
Private Sub FromImageImage2(ByVal e As PaintEventArgs)
' Create image.
Dim imageFile As Image = Image.FromFile("SampImag.jpg")
' Create graphics object for alteration.
Dim newGraphics As Graphics = Graphics.FromImage(imageFile)
' Alter image.
newGraphics.FillRectangle(New SolidBrush(Color.Black), _
100, 50, 100, 100)
' Draw image to screen.
e.Graphics.DrawImage(imageFile, New PointF(0.0F, 0.0F))
' Dispose of graphics object.
newGraphics.Dispose()
End Sub
Комментарии
Если изображение имеет индексированные пиксельные форматы, этот метод создает исключение с сообщением "Объект графики не может быть создан на основе изображения с индексированных форматов пикселей". Индексированные форматы пикселей отображаются в следующем списке.
Индексированные изображения можно сохранить в другом формате с помощью метода Save(String, ImageFormat), а затем получить объект Graphics для нового образа.
Этот метод также создает исключение, если изображение имеет любой из следующих форматов пикселей.
Для освобождения Graphics и связанных ресурсов, созданных методом FromImage, всегда следует вызывать метод Dispose.