Поделиться через


Graphics.FromImage(Image) Метод

Определение

Создает новый Graphics из указанного 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

Параметры

image
Image

Image, из которого создается новая Graphics.

Возвращаемое значение

Этот метод возвращает новую Graphics для указанного Image.

Исключения

image null.

image имеет индексированные пиксельные форматы или его формат не определен.

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse, который является параметром обработчика событий Paint. Код выполняет следующее действие:

  • Создает Image из графического файла SampImag.jpg в папке примера.

  • Создает Graphics из Image.

  • Изменяет изображение, заполняя прямоугольник внутри него.

  • Рисует 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.

Применяется к

См. также раздел