Graphics.FromImage(Image) Yöntem

Tanım

Belirtilen Imagesürümünden yeni Graphics bir oluşturur.

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

Parametreler

image
Image

Image yeni Graphicsöğesinin oluşturulacağı yerdir.

Döndürülenler

Bu yöntem, belirtilen Imageiçin yeni Graphics bir döndürür.

Özel durumlar

image, null değeridir.

image dizinli piksel biçimine sahiptir veya biçimi tanımlanmamıştır.

Örnekler

Aşağıdaki kod örneği, Windows Forms ile kullanılmak üzere tasarlanmıştır ve olay işleyicisinin bir parametresi olan öğesini gerektirirPaintEventArgse.Paint Kod aşağıdaki eylemi gerçekleştirir:

  • Örnek klasörde SampImag.jpg bir grafik dosyasından bir Image oluşturur.

  • içinden Imagebir Graphics oluşturur.

  • İçindeki dikdörtgeni doldurarak görüntüyü değiştirir.

  • ekranı çizer Image .

  • Oluşturulan Graphicsöğesini serbest bırakır.

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

Açıklamalar

Görüntüde dizinli piksel biçimi varsa, bu yöntem "Dizinli piksel biçimine sahip bir görüntüden Grafik nesnesi oluşturulamaz" iletisiyle bir özel durum oluşturur. Dizine alınan piksel biçimleri aşağıdaki listede gösterilmiştir.

yöntemini kullanarak Save(String, ImageFormat) dizine alınan görüntüyü başka bir biçim olarak kaydedebilir ve ardından yeni görüntü için bir Graphics nesne alabilirsiniz.

Bu yöntem, görüntünün aşağıdaki piksel biçimlerinden birine sahip olması durumunda da bir özel durum oluşturur.

yöntemi tarafından FromImage oluşturulan ve ilgili kaynakları serbest bırakmak Graphics için her zaman yöntemini çağırmalısınızDispose.

Şunlara uygulanır

Ayrıca bkz.