Graphics.FromImage(Image) Metoda

Definice

Vytvoří nový Graphics ze zadaného Imagesouboru .

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 ze kterého chcete vytvořit nový Graphics.

Návraty

Tato metoda vrátí nový Graphics pro zadaný Image.

Výjimky

image je null.

image má formát indexovaných pixelů nebo je nedefinovaný.

Příklady

Následující příklad kódu je určen pro použití s model Windows Forms a vyžaduje PaintEventArgse, což je parametr obslužné rutiny Paint události. Kód provede následující akci:

  • Image Vytvoří z grafického souboru SampImag.jpg v ukázkové složce.

  • Vytvoří z Graphics .Image

  • Změní obrázek vyplněním obdélníku v něm.

  • Nakreslí na Image obrazovku.

  • Uvolní vytvořený Graphicsobjekt .

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

Poznámky

Pokud má obrázek formát indexovaných pixelů, tato metoda vyvolá výjimku se zprávou "Objekt Graphics nelze vytvořit z obrázku, který má formát indexovaných pixelů." Indexované pixelové formáty jsou uvedené v následujícím seznamu.

Indexovaný obrázek můžete uložit jako jiný formát pomocí Save(String, ImageFormat) metody a pak načíst Graphics objekt pro nový obrázek.

Tato metoda také vyvolá výjimku, pokud má obrázek některý z následujících formátů pixelů.

Vždy byste měli volat metodu Dispose pro uvolnění Graphics a souvisejících prostředků vytvořených metodou FromImage .

Platí pro

Viz také