Graphics.FromImage(Image) Metoda

Definicja

Tworzy nowy Graphics element na podstawie określonego Imageelementu .

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

Parametry

image
Image

Image z którego ma zostać utworzony nowy Graphicselement .

Zwraca

Ta metoda zwraca nową Graphics wartość dla określonego Imageelementu .

Wyjątki

image to null.

image ma indeksowany format pikseli lub jego format jest niezdefiniowany.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgseparametru Paint programu obsługi zdarzeń. Kod wykonuje następującą akcję:

  • Tworzy element Image z pliku graficznego SampImag.jpg w przykładowym folderze.

  • Tworzy obiekt Graphics na podstawie elementu Image.

  • Zmienia obraz, wypełniając w nim prostokąt.

  • Rysuje ekran Image .

  • Zwalnia utworzony element 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

Uwagi

Jeśli obraz ma indeksowany format pikseli, ta metoda zgłasza wyjątek z komunikatem "Nie można utworzyć obiektu grafiki na podstawie obrazu, który ma indeksowany format pikseli". Indeksowane formaty pikseli są wyświetlane na poniższej liście.

Indeksowany obraz można zapisać jako inny format przy użyciu Save(String, ImageFormat) metody , a następnie pobrać Graphics obiekt dla nowego obrazu.

Ta metoda zgłasza również wyjątek, jeśli obraz ma dowolny z następujących formatów pikseli.

Zawsze należy wywołać metodę Dispose , aby zwolnić Graphics powiązane zasoby i utworzone przez metodę FromImage .

Dotyczy

Zobacz też