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 в папке примера.

  • Создает из GraphicsImage.

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

  • Рисует на 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 объект для нового изображения.

Этот метод также создает исключение, если изображение имеет любой из следующих форматов пикселей.

Всегда следует вызывать метод , Dispose чтобы освободить Graphics и связанные ресурсы, созданные методом FromImage .

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

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