Graphics.DrawImage Metoda

Definicja

Rysuje wartość określoną Image w określonej lokalizacji i z oryginalnym rozmiarem.

Przeciążenia

DrawImage(Image, Single, Single, RectangleF, GraphicsUnit)

Rysuje część obrazu w określonej lokalizacji.

DrawImage(Image, Effect, RectangleF, Matrix, GraphicsUnit, ImageAttributes)
DrawImage(Image, Point[], Rectangle, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort)

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

DrawImage(Image, PointF[], RectangleF, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort)

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

DrawImage(Image, Point[], Rectangle, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, Int32)

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

DrawImage(Image, PointF[], RectangleF, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, Int32)

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

DrawImage(Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit)

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

DrawImage(Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit, ImageAttributes)

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

DrawImage(Image, Rectangle, Single, Single, Single, Single, GraphicsUnit, ImageAttributes)

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

DrawImage(Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort)

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

DrawImage(Image, Rectangle, Single, Single, Single, Single, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort)

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

DrawImage(Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, IntPtr)

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

DrawImage(Image, Rectangle, Single, Single, Single, Single, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, IntPtr)

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

DrawImage(Image, Rectangle, Single, Single, Single, Single, GraphicsUnit)

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

DrawImage(Image, Int32, Int32, Int32, Int32)

Rysuje wartość określoną Image w określonej lokalizacji i o określonym rozmiarze.

DrawImage(Image, Single, Single, Single, Single)

Rysuje wartość określoną Image w określonej lokalizacji i o określonym rozmiarze.

DrawImage(Image, PointF[], RectangleF, GraphicsUnit, ImageAttributes)

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

DrawImage(Image, Effect)
DrawImage(Image, Point)

Rysuje określony Imageelement , używając oryginalnego rozmiaru fizycznego w określonej lokalizacji.

DrawImage(Image, Point[])

Rysuje określony Image element w określonej lokalizacji i o określonym kształcie i rozmiarze.

DrawImage(Image, PointF)

Rysuje określony Imageelement , używając oryginalnego rozmiaru fizycznego w określonej lokalizacji.

DrawImage(Image, PointF[])

Rysuje określony Image element w określonej lokalizacji i o określonym kształcie i rozmiarze.

DrawImage(Image, Rectangle)

Rysuje wartość określoną Image w określonej lokalizacji i o określonym rozmiarze.

DrawImage(Image, RectangleF)

Rysuje wartość określoną Image w określonej lokalizacji i o określonym rozmiarze.

DrawImage(Image, Int32, Int32, Rectangle, GraphicsUnit)

Rysuje część obrazu w określonej lokalizacji.

DrawImage(Image, Single, Single)

Rysuje określony Imageelement , używając oryginalnego rozmiaru fizycznego w określonej lokalizacji.

DrawImage(Image, Point[], Rectangle, GraphicsUnit)

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

DrawImage(Image, PointF[], RectangleF, GraphicsUnit)

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

DrawImage(Image, Rectangle, Rectangle, GraphicsUnit)

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

DrawImage(Image, RectangleF, RectangleF, GraphicsUnit)

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

DrawImage(Image, Int32, Int32)

Rysuje określony obraz przy użyciu oryginalnego rozmiaru fizycznego w lokalizacji określonej przez parę współrzędnych.

DrawImage(Image, Point[], Rectangle, GraphicsUnit, ImageAttributes)

Rysuje określoną część określonego Image obiektu w określonej lokalizacji.

DrawImage(Image, Single, Single, RectangleF, GraphicsUnit)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje część obrazu w określonej lokalizacji.

public:
 void DrawImage(System::Drawing::Image ^ image, float x, float y, System::Drawing::RectangleF srcRect, System::Drawing::GraphicsUnit srcUnit);
public void DrawImage (System.Drawing.Image image, float x, float y, System.Drawing.RectangleF srcRect, System.Drawing.GraphicsUnit srcUnit);
member this.DrawImage : System.Drawing.Image * single * single * System.Drawing.RectangleF * System.Drawing.GraphicsUnit -> unit
Public Sub DrawImage (image As Image, x As Single, y As Single, srcRect As RectangleF, srcUnit As GraphicsUnit)

Parametry

image
Image

Image aby narysować.

x
Single

Współrzędna x lewego górnego rogu narysowanego obrazu.

y
Single

Współrzędna y lewego górnego rogu narysowanego obrazu.

srcRect
RectangleF

RectangleF struktura określająca część obiektu Image do rysowania.

srcUnit
GraphicsUnit

Element członkowski wyliczenia GraphicsUnit , który określa jednostki miary używane przez srcRect parametr .

Wyjątki

image to null.

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ące akcje:

  • Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.

  • Tworzy współrzędne, na których ma być rysowanie lewego górnego rogu obrazu.

  • Tworzy prostokąt źródłowy, z którego ma być wyodrębniony fragment obrazu.

  • Ustawia jednostkę miary prostokąta źródłowego na piksele.

  • Rysuje obraz na ekran.

Rozmiar prostokąta źródłowego określa, jaka część nieskalowanego oryginalnego obrazu jest rysowana na ekranie.

public:
   void DrawImage2FloatRectF( PaintEventArgs^ e )
   {
      // Create image.
      Image^ newImage = Image::FromFile( "SampImag.jpg" );

      // Create coordinates for upper-left corner of image.
      float x = 100.0F;
      float y = 100.0F;

      // Create rectangle for source image.
      RectangleF srcRect = RectangleF(50.0F,50.0F,150.0F,150.0F);
      GraphicsUnit units = GraphicsUnit::Pixel;

      // Draw image to screen.
      e->Graphics->DrawImage( newImage, x, y, srcRect, units );
   }
public void DrawImage2FloatRectF(PaintEventArgs e)
{
             
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
             
    // Create coordinates for upper-left corner of image.
    float x = 100.0F;
    float y = 100.0F;
             
    // Create rectangle for source image.
    RectangleF srcRect = new RectangleF(50.0F, 50.0F, 150.0F, 150.0F);
    GraphicsUnit units = GraphicsUnit.Pixel;
             
    // Draw image to screen.
    e.Graphics.DrawImage(newImage, x, y, srcRect, units);
}
Public Sub DrawImage2FloatRectF(ByVal e As PaintEventArgs)

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create coordinates for upper-left corner of image.
    Dim x As Single = 100.0F
    Dim y As Single = 100.0F

    ' Create rectangle for source image.
    Dim srcRect As New RectangleF(50.0F, 50.0F, 150.0F, 150.0F)
    Dim units As GraphicsUnit = GraphicsUnit.Pixel

    ' Draw image to screen.
    e.Graphics.DrawImage(newImage, x, y, srcRect, units)
End Sub

Uwagi

Element Image przechowuje wartość szerokości pikseli i wartość rozdzielczości poziomej (kropki na cal). Szerokość fizyczna mierzona w calach obrazu to szerokość pikseli podzielona przez rozdzielczość poziomą. Na przykład obraz o szerokości pikseli 360 i rozdzielczości poziomej 72 kropek na cal ma fizyczną szerokość 5 cali. Podobne uwagi dotyczą wysokości pikseli i wysokości fizycznej.

Ta metoda rysuje część obrazu przy użyciu rozmiaru fizycznego, więc część obrazu będzie miała poprawny rozmiar w calach niezależnie od rozdzielczości (kropki na cal) urządzenia wyświetlania. Załóżmy na przykład, że część obrazu ma szerokość pikseli 216 i poziomą rozdzielczość 72 kropek na cal. Jeśli wywołasz tę metodę, aby narysować tę część obrazu na urządzeniu o rozdzielczości 96 kropek na cal, szerokość piksela renderowanego obrazu będzie (216/72)*96 = 288.

Zobacz też

Dotyczy

DrawImage(Image, Effect, RectangleF, Matrix, GraphicsUnit, ImageAttributes)

Źródło:
Graphics.cs
public void DrawImage (System.Drawing.Image image, System.Drawing.Imaging.Effects.Effect effect, System.Drawing.RectangleF srcRect = default, System.Drawing.Drawing2D.Matrix? transform = default, System.Drawing.GraphicsUnit srcUnit = System.Drawing.GraphicsUnit.Pixel, System.Drawing.Imaging.ImageAttributes? imageAttr = default);
member this.DrawImage : System.Drawing.Image * System.Drawing.Imaging.Effects.Effect * System.Drawing.RectangleF * System.Drawing.Drawing2D.Matrix * System.Drawing.GraphicsUnit * System.Drawing.Imaging.ImageAttributes -> unit
Public Sub DrawImage (image As Image, effect As Effect, Optional srcRect As RectangleF = Nothing, Optional transform As Matrix = Nothing, Optional srcUnit As GraphicsUnit = System.Drawing.GraphicsUnit.Pixel, Optional imageAttr As ImageAttributes = Nothing)

Parametry

image
Image
effect
Effect
srcRect
RectangleF
transform
Matrix
srcUnit
GraphicsUnit
imageAttr
ImageAttributes

Dotyczy

DrawImage(Image, Point[], Rectangle, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

public:
 void DrawImage(System::Drawing::Image ^ image, cli::array <System::Drawing::Point> ^ destPoints, System::Drawing::Rectangle srcRect, System::Drawing::GraphicsUnit srcUnit, System::Drawing::Imaging::ImageAttributes ^ imageAttr, System::Drawing::Graphics::DrawImageAbort ^ callback);
public void DrawImage (System.Drawing.Image image, System.Drawing.Point[] destPoints, System.Drawing.Rectangle srcRect, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes imageAttr, System.Drawing.Graphics.DrawImageAbort callback);
public void DrawImage (System.Drawing.Image image, System.Drawing.Point[] destPoints, System.Drawing.Rectangle srcRect, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes? imageAttr, System.Drawing.Graphics.DrawImageAbort? callback);
member this.DrawImage : System.Drawing.Image * System.Drawing.Point[] * System.Drawing.Rectangle * System.Drawing.GraphicsUnit * System.Drawing.Imaging.ImageAttributes * System.Drawing.Graphics.DrawImageAbort -> unit
Public Sub DrawImage (image As Image, destPoints As Point(), srcRect As Rectangle, srcUnit As GraphicsUnit, imageAttr As ImageAttributes, callback As Graphics.DrawImageAbort)

Parametry

image
Image

Image aby narysować.

destPoints
Point[]

Tablica trzech PointF struktur, które definiują równoległyogram.

srcRect
Rectangle

Rectangle struktura określająca część image obiektu do rysowania.

srcUnit
GraphicsUnit

Element członkowski wyliczenia GraphicsUnit , który określa jednostki miary używane przez srcRect parametr .

imageAttr
ImageAttributes

ImageAttributes określa ponowne kolorowanie i informacje gamma dla image obiektu.

callback
Graphics.DrawImageAbort

Graphics.DrawImageAbort delegate, który określa metodę wywołania podczas rysunku obrazu. Ta metoda jest często wywoływana w celu sprawdzenia, czy zatrzymać wykonywanie DrawImage(Image, Point[], Rectangle, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort) metody zgodnie z kryteriami określonymi przez aplikację.

Wyjątki

image to null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgseparametru Paint programu obsługi zdarzeń. Kod najpierw definiuje metodę wywołania zwrotnego dla Graphics.DrawImageAbort delegata. Definicja jest uproszczona i jedynie sprawdza, czy DrawImage metoda wywołuje ją za pomocą parametru null callBackData . Główna treść przykładu wykonuje następujące akcje:

  • Tworzy wystąpienie Graphics.DrawImageAbort metody wywołania zwrotnego:

  • Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.

  • Tworzy punkty definiujące równoległy obraz, w którym ma być rysowanie obrazu.

  • Tworzy prostokąt, aby wybrać część obrazu do narysowania.

  • Ustawia jednostkę rysunku grafiki na piksel.

  • Rysuje oryginalny obraz na ekran.

  • Tworzy dodatkowy równoległyogram, w którym ma być narysowany obraz.

  • Tworzy i ustawia atrybuty dostosowanego obrazu, aby mieć większą niż zwykle wartość gamma.

  • Rysuje dostosowany obraz do ekranu.

W przypadku oryginalnego, nieokreślonego równoległegoogramu pozycja lokalizuje obraz na ekranie, a rozmiar prostokąta oraz rozmiar i kształt równoległegoogramu określa skalowanie i ścinanie rysunkowego obrazu.

Ponieważ w tym przykładzie użyto przeciążenia, które nie przekazuje parametru callBackData , Graphics.DrawImageAbort wywołanie zwrotne zwraca truewartość , co powoduje DrawImage zakończenie metody, a kod obsługi wyjątków zawarty w przykładzie wyświetla tekst wyjątku, a nie rysuje obrazu.

   // Define DrawImageAbort callback method.
private:
   bool DrawImageCallback1( IntPtr callBackData )
   {
      // Test for call that passes callBackData parameter.
      if ( callBackData == IntPtr::Zero )
      {
         // If no callBackData passed, abort DrawImage method.
         return true;
      }
      else
      {
         // If callBackData passed, continue DrawImage method.
         return false;
      }
   }

private:
   void DrawImageParaRectAttribAbort( PaintEventArgs^ e )
   {
      // Create callback method.
      Graphics::DrawImageAbort^ imageCallback = gcnew Graphics::DrawImageAbort( this, &Form1::DrawImageCallback1 );

      // Create image.
      Image^ newImage = Image::FromFile( "SampImag.jpg" );

      // Create parallelogram for drawing original image.
      Point ulCorner = Point(100,100);
      Point urCorner = Point(550,100);
      Point llCorner = Point(150,250);
      array<Point>^ destPara1 = {ulCorner,urCorner,llCorner};

      // Create rectangle for source image.
      Rectangle srcRect = Rectangle(50,50,150,150);
      GraphicsUnit units = GraphicsUnit::Pixel;

      // Draw original image to screen.
      e->Graphics->DrawImage( newImage, destPara1, srcRect, units );

      // Create parallelogram for drawing adjusted image.
      Point ulCorner2 = Point(325,100);
      Point urCorner2 = Point(550,100);
      Point llCorner2 = Point(375,250);
      array<Point>^ destPara2 = {ulCorner2,urCorner2,llCorner2};

      // Create image attributes and set large gamma.
      ImageAttributes^ imageAttr = gcnew ImageAttributes;
      imageAttr->SetGamma( 4.0F );
      try
      {
         // Draw image to screen.
         e->Graphics->DrawImage( newImage, destPara2, srcRect, units, imageAttr, imageCallback );
      }
      catch ( Exception^ ex ) 
      {
         e->Graphics->DrawString( ex->ToString(), gcnew System::Drawing::Font( "Arial",8 ), Brushes::Black, PointF(0,0) );
      }
   }

// Define DrawImageAbort callback method.
private bool DrawImageCallback1(IntPtr callBackData)
{
             
    // Test for call that passes callBackData parameter.
    if(callBackData==IntPtr.Zero)
    {
             
        // If no callBackData passed, abort DrawImage method.
        return true;
    }
    else
    {
             
        // If callBackData passed, continue DrawImage method.
        return false;
    }
}
private void DrawImageParaRectAttribAbort(PaintEventArgs e)
{
             
    // Create callback method.
    Graphics.DrawImageAbort imageCallback
        = new Graphics.DrawImageAbort(DrawImageCallback1);
             
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
             
    // Create parallelogram for drawing original image.
    Point ulCorner = new Point(100, 100);
    Point urCorner = new Point(550, 100);
    Point llCorner = new Point(150, 250);
    Point[] destPara1 = {ulCorner, urCorner, llCorner};
             
    // Create rectangle for source image.
    Rectangle srcRect = new Rectangle(50, 50, 150, 150);
    GraphicsUnit units = GraphicsUnit.Pixel;
             
    // Draw original image to screen.
    e.Graphics.DrawImage(newImage, destPara1, srcRect, units);
             
    // Create parallelogram for drawing adjusted image.
    Point ulCorner2 = new Point(325, 100);
    Point urCorner2 = new Point(550, 100);
    Point llCorner2 = new Point(375, 250);
    Point[] destPara2 = {ulCorner2, urCorner2, llCorner2};
             
    // Create image attributes and set large gamma.
    ImageAttributes imageAttr = new ImageAttributes();
    imageAttr.SetGamma(4.0F);
    try
    {
        checked
        {
             
            // Draw image to screen.
            e.Graphics.DrawImage(
                newImage,
                destPara2,
                srcRect,
                units,
                imageAttr,
                imageCallback);
        }
    }
    catch (Exception ex)
    {
        e.Graphics.DrawString(
            ex.ToString(),
            new Font("Arial", 8),
            Brushes.Black,
            new PointF(0, 0));
    }
}
Private Function DrawImageCallback1(ByVal callBackData As IntPtr) As Boolean

    ' Test for call that passes callBackData parameter.
    If callBackData.Equals(IntPtr.Zero) Then

        ' If no callBackData passed, abort DrawImage method.
        Return True
    Else

        ' If callBackData passed, continue DrawImage method.
        Return False
    End If
End Function
Private Sub DrawImageParaRectAttribAbort(ByVal e As PaintEventArgs)

    ' Create callback method.
    Dim imageCallback As New _
    Graphics.DrawImageAbort(AddressOf DrawImageCallback1)

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create parallelogram for drawing original image.
    Dim ulCorner As New Point(100, 100)
    Dim urCorner As New Point(550, 100)
    Dim llCorner As New Point(150, 250)
    Dim destPara1 As Point() = {ulCorner, urCorner, llCorner}

    ' Create rectangle for source image.
    Dim srcRect As New Rectangle(50, 50, 150, 150)
    Dim units As GraphicsUnit = GraphicsUnit.Pixel

    ' Draw original image to screen.
    e.Graphics.DrawImage(newImage, destPara1, srcRect, units)

    ' Create parallelogram for drawing adjusted image.
    Dim ulCorner2 As New Point(325, 100)
    Dim urCorner2 As New Point(550, 100)
    Dim llCorner2 As New Point(375, 250)
    Dim destPara2 As Point() = {ulCorner2, urCorner2, llCorner2}

    ' Create image attributes and set large gamma.
    Dim imageAttr As New ImageAttributes
    imageAttr.SetGamma(4.0F)
    Try

        ' Draw image to screen.
        e.Graphics.DrawImage(newImage, destPara2, srcRect, units, _
        imageAttr, imageCallback)
    Catch ex As Exception
        e.Graphics.DrawString(ex.ToString(), New Font("Arial", 8), _
        Brushes.Black, New PointF(0, 0))
    End Try
End Sub

Uwagi

Parametr destPoints określa trzy punkty parallelogramu. Trzy PointF struktury reprezentują lewe górne, prawe górne i lewe dolne rogi równoległegoogramu. Czwarty punkt jest ekstrapolowany z pierwszych trzech do utworzenia równoległego.

Parametr srcRect określa prostokątną część image obiektu do rysowania. Ta część jest skalowana i sznana w celu dopasowania do równoległegoogramu określonego destPoints przez parametr .

To przeciążenie za pomocą parametru callback zapewnia metodę zatrzymania rysunku obrazu po uruchomieniu zgodnie z kryteriami określonymi przez aplikację. Na przykład aplikacja może rozpocząć rysowanie dużego obrazu, a użytkownik może przewijać obraz z ekranu, w tym przypadku aplikacja może zatrzymać rysunek.

Zobacz też

Dotyczy

DrawImage(Image, PointF[], RectangleF, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

public:
 void DrawImage(System::Drawing::Image ^ image, cli::array <System::Drawing::PointF> ^ destPoints, System::Drawing::RectangleF srcRect, System::Drawing::GraphicsUnit srcUnit, System::Drawing::Imaging::ImageAttributes ^ imageAttr, System::Drawing::Graphics::DrawImageAbort ^ callback);
public void DrawImage (System.Drawing.Image image, System.Drawing.PointF[] destPoints, System.Drawing.RectangleF srcRect, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes imageAttr, System.Drawing.Graphics.DrawImageAbort callback);
public void DrawImage (System.Drawing.Image image, System.Drawing.PointF[] destPoints, System.Drawing.RectangleF srcRect, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes? imageAttr, System.Drawing.Graphics.DrawImageAbort? callback);
member this.DrawImage : System.Drawing.Image * System.Drawing.PointF[] * System.Drawing.RectangleF * System.Drawing.GraphicsUnit * System.Drawing.Imaging.ImageAttributes * System.Drawing.Graphics.DrawImageAbort -> unit
Public Sub DrawImage (image As Image, destPoints As PointF(), srcRect As RectangleF, srcUnit As GraphicsUnit, imageAttr As ImageAttributes, callback As Graphics.DrawImageAbort)

Parametry

image
Image

Image aby narysować.

destPoints
PointF[]

Tablica trzech PointF struktur, które definiują równoległyogram.

srcRect
RectangleF

RectangleF struktura określająca część image obiektu do rysowania.

srcUnit
GraphicsUnit

Element członkowski wyliczenia GraphicsUnit , który określa jednostki miary używane przez srcRect parametr .

imageAttr
ImageAttributes

ImageAttributes określa ponowne kolorowanie i informacje gamma dla image obiektu.

callback
Graphics.DrawImageAbort

Graphics.DrawImageAbort delegate, który określa metodę wywołania podczas rysunku obrazu. Ta metoda jest często wywoływana w celu sprawdzenia, czy zatrzymać wykonywanie DrawImage(Image, PointF[], RectangleF, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort) metody zgodnie z kryteriami określonymi przez aplikację.

Wyjątki

image to null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgseparametru Paint programu obsługi zdarzeń. Kod najpierw definiuje metodę wywołania zwrotnego dla Graphics.DrawImageAbort delegata. Definicja jest uproszczona i jedynie sprawdza, czy DrawImage metoda wywołuje ją za pomocą parametru null callBackData . Główna treść przykładu wykonuje następujące akcje:

  • Tworzy wystąpienie Graphics.DrawImageAbort metody wywołania zwrotnego.

  • Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.

  • Tworzy punkty definiujące równoległy obraz, w którym ma być rysowanie obrazu.

  • Tworzy prostokąt, aby wybrać część obrazu do narysowania.

  • Ustawia jednostkę rysunku grafiki na piksel.

  • Rysuje oryginalny obraz na ekran.

  • Tworzy dodatkowy równoległyogram, w którym ma być narysowany obraz.

  • Tworzy i ustawia atrybuty dostosowanego obrazu, aby mieć większą niż zwykle wartość gamma.

  • Rysuje dostosowany obraz do ekranu.

W przypadku oryginalnego, nieokreślonego równoległegoogramu pozycja lokalizuje obraz na ekranie, a rozmiar prostokąta oraz rozmiar i kształt równoległegoogramu określa skalowanie i ścinanie rysunkowego obrazu.

Ponieważ w tym przykładzie użyto przeciążenia, które nie przekazuje parametru callBackData , Graphics.DrawImageAbort wywołanie zwrotne zwraca truewartość , co powoduje DrawImage zakończenie metody, a kod obsługi wyjątków zawarty w przykładzie wyświetla tekst wyjątku, a nie rysuje obrazu.

   // Define DrawImageAbort callback method.
private:
   bool DrawImageCallback3( IntPtr callBackData )
   {
      // Test for call that passes callBackData parameter.
      if ( callBackData == IntPtr::Zero )
      {
         // If no callBackData passed, abort DrawImage method.
         return true;
      }
      else
      {
         // If callBackData passed, continue DrawImage method.
         return false;
      }
   }

private:
   void DrawImageParaFRectAttribAbort( PaintEventArgs^ e )
   {
      // Create callback method.
      Graphics::DrawImageAbort^ imageCallback = gcnew Graphics::DrawImageAbort( this, &Form1::DrawImageCallback3 );

      // Create image.
      Image^ newImage = Image::FromFile( "SampImag.jpg" );

      // Create parallelogram for drawing original image.
      PointF ulCorner1 = PointF(100.0F,100.0F);
      PointF urCorner1 = PointF(325.0F,100.0F);
      PointF llCorner1 = PointF(150.0F,250.0F);
      array<PointF>^ destPara1 = {ulCorner1,urCorner1,llCorner1};

      // Create rectangle for source image.
      RectangleF srcRect = RectangleF(50.0F,50.0F,150.0F,150.0F);
      GraphicsUnit units = GraphicsUnit::Pixel;

      // Create parallelogram for drawing adjusted image.
      PointF ulCorner2 = PointF(325.0F,100.0F);
      PointF urCorner2 = PointF(550.0F,100.0F);
      PointF llCorner2 = PointF(375.0F,250.0F);
      array<PointF>^ destPara2 = {ulCorner2,urCorner2,llCorner2};

      // Draw original image to screen.
      e->Graphics->DrawImage( newImage, destPara1, srcRect, units );

      // Create image attributes and set large gamma.
      ImageAttributes^ imageAttr = gcnew ImageAttributes;
      imageAttr->SetGamma( 4.0F );
      try
      {
         // Draw adjusted image to screen.
         e->Graphics->DrawImage( newImage, destPara2, srcRect, units, imageAttr, imageCallback );
      }
      catch ( Exception^ ex ) 
      {
         e->Graphics->DrawString( ex->ToString(), gcnew System::Drawing::Font( "Arial",8 ), Brushes::Black, PointF(0,0) );
      }
   }

// Define DrawImageAbort callback method.
private bool DrawImageCallback3(IntPtr callBackData)
{
             
    // Test for call that passes callBackData parameter.
    if(callBackData==IntPtr.Zero)
    {
             
        // If no callBackData passed, abort DrawImage method.
        return true;
    }
    else
    {
             
        // If callBackData passed, continue DrawImage method.
        return false;
    }
}
private void DrawImageParaFRectAttribAbort(PaintEventArgs e)
{
             
    // Create callback method.
    Graphics.DrawImageAbort imageCallback
        = new Graphics.DrawImageAbort(DrawImageCallback3);
             
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
             
    // Create parallelogram for drawing original image.
    PointF ulCorner1 = new PointF(100.0F, 100.0F);
    PointF urCorner1 = new PointF(325.0F, 100.0F);
    PointF llCorner1 = new PointF(150.0F, 250.0F);
    PointF[] destPara1 = {ulCorner1, urCorner1, llCorner1};
             
    // Create rectangle for source image.
    RectangleF srcRect = new RectangleF(50.0F, 50.0F, 150.0F, 150.0F);
    GraphicsUnit units = GraphicsUnit.Pixel;
             
    // Create parallelogram for drawing adjusted image.
    PointF ulCorner2 = new PointF(325.0F, 100.0F);
    PointF urCorner2 = new PointF(550.0F, 100.0F);
    PointF llCorner2 = new PointF(375.0F, 250.0F);
    PointF[] destPara2 = {ulCorner2, urCorner2, llCorner2};
             
    // Draw original image to screen.
    e.Graphics.DrawImage(newImage, destPara1, srcRect, units);
             
    // Create image attributes and set large gamma.
    ImageAttributes imageAttr = new ImageAttributes();
    imageAttr.SetGamma(4.0F);
    try
    {
        checked
        {
             
            // Draw adjusted image to screen.
            e.Graphics.DrawImage(
                newImage,
                destPara2,
                srcRect,
                units,
                imageAttr,
                imageCallback);
        }
    }
    catch (Exception ex)
    {
        e.Graphics.DrawString(
            ex.ToString(),
            new Font("Arial", 8),
            Brushes.Black,
            new PointF(0, 0));
    }
}
Private Function DrawImageCallback3(ByVal callBackData As IntPtr) As Boolean

    ' Test for call that passes callBackData parameter.
    If callBackData.Equals(IntPtr.Zero) Then

        ' If no callBackData passed, abort DrawImage method.
        Return True
    Else

        ' If callBackData passed, continue DrawImage method.
        Return False
    End If
End Function
Private Sub DrawImageParaFRectAttribAbort(ByVal e As PaintEventArgs)

    ' Create callback method.
    Dim imageCallback As New _
    Graphics.DrawImageAbort(AddressOf DrawImageCallback3)

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create parallelogram for drawing original image.
    Dim ulCorner1 As New PointF(100.0F, 100.0F)
    Dim urCorner1 As New PointF(325.0F, 100.0F)
    Dim llCorner1 As New PointF(150.0F, 250.0F)
    Dim destPara1 As PointF() = {ulCorner1, urCorner1, llCorner1}

    ' Create rectangle for source image.
    Dim srcRect As New RectangleF(50.0F, 50.0F, 150.0F, 150.0F)
    Dim units As GraphicsUnit = GraphicsUnit.Pixel

    ' Create parallelogram for drawing adjusted image.
    Dim ulCorner2 As New PointF(325.0F, 100.0F)
    Dim urCorner2 As New PointF(550.0F, 100.0F)
    Dim llCorner2 As New PointF(375.0F, 250.0F)
    Dim destPara2 As PointF() = {ulCorner2, urCorner2, llCorner2}

    ' Draw original image to screen.
    e.Graphics.DrawImage(newImage, destPara1, srcRect, units)

    ' Create image attributes and set large gamma.
    Dim imageAttr As New ImageAttributes
    imageAttr.SetGamma(4.0F)
    Try

        ' Draw adjusted image to screen.
        e.Graphics.DrawImage(newImage, destPara2, srcRect, units, _
        imageAttr, imageCallback)
    Catch ex As Exception
        e.Graphics.DrawString(ex.ToString(), New Font("Arial", 8), _
        Brushes.Black, New PointF(0, 0))
    End Try
End Sub

Uwagi

Parametr destPoints określa trzy punkty parallelogramu. Trzy PointF struktury reprezentują lewe górne, prawe górne i lewe dolne rogi równoległegoogramu. Czwarty punkt jest ekstrapolowany z pierwszych trzech do utworzenia równoległego.

Parametr srcRect określa prostokątną część image obiektu do rysowania. Ta część jest skalowana i sznana w celu dopasowania do równoległegoogramu określonego destPoints przez parametr .

To przeciążenie za pomocą parametru callback zapewnia metodę zatrzymania rysunku obrazu po uruchomieniu zgodnie z kryteriami określonymi przez aplikację. Na przykład aplikacja może rozpocząć rysowanie dużego obrazu, a użytkownik może przewijać obraz z ekranu, w tym przypadku aplikacja może zatrzymać rysunek.

Zobacz też

Dotyczy

DrawImage(Image, Point[], Rectangle, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, Int32)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

public:
 void DrawImage(System::Drawing::Image ^ image, cli::array <System::Drawing::Point> ^ destPoints, System::Drawing::Rectangle srcRect, System::Drawing::GraphicsUnit srcUnit, System::Drawing::Imaging::ImageAttributes ^ imageAttr, System::Drawing::Graphics::DrawImageAbort ^ callback, int callbackData);
public void DrawImage (System.Drawing.Image image, System.Drawing.Point[] destPoints, System.Drawing.Rectangle srcRect, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes imageAttr, System.Drawing.Graphics.DrawImageAbort callback, int callbackData);
public void DrawImage (System.Drawing.Image image, System.Drawing.Point[] destPoints, System.Drawing.Rectangle srcRect, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes? imageAttr, System.Drawing.Graphics.DrawImageAbort? callback, int callbackData);
member this.DrawImage : System.Drawing.Image * System.Drawing.Point[] * System.Drawing.Rectangle * System.Drawing.GraphicsUnit * System.Drawing.Imaging.ImageAttributes * System.Drawing.Graphics.DrawImageAbort * int -> unit
Public Sub DrawImage (image As Image, destPoints As Point(), srcRect As Rectangle, srcUnit As GraphicsUnit, imageAttr As ImageAttributes, callback As Graphics.DrawImageAbort, callbackData As Integer)

Parametry

image
Image

Image aby narysować.

destPoints
Point[]

Tablica trzech PointF struktur, które definiują równoległyogram.

srcRect
Rectangle

Rectangle struktura określająca część image obiektu do rysowania.

srcUnit
GraphicsUnit

Element członkowski wyliczenia GraphicsUnit , który określa jednostki miary używane przez srcRect parametr .

imageAttr
ImageAttributes

ImageAttributes określa ponowne kolorowanie i informacje gamma dla image obiektu.

callback
Graphics.DrawImageAbort

Graphics.DrawImageAbort delegate, który określa metodę wywołania podczas rysunku obrazu. Ta metoda jest często wywoływana w celu sprawdzenia, czy zatrzymać wykonywanie DrawImage(Image, Point[], Rectangle, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, Int32) metody zgodnie z kryteriami określonymi przez aplikację.

callbackData
Int32

Wartość określająca dodatkowe dane dla delegata Graphics.DrawImageAbort do użycia podczas sprawdzania DrawImage(Image, Point[], Rectangle, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, Int32) , czy zatrzymać wykonywanie metody.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgseparametru Paint programu obsługi zdarzeń. Kod najpierw definiuje metodę wywołania zwrotnego dla Graphics.DrawImageAbort delegata. Definicja jest uproszczona i jedynie sprawdza, czy DrawImage metoda wywołuje ją za pomocą parametru null callBackData . Główna treść przykładu wykonuje następujące akcje:

  • Tworzy wystąpienie Graphics.DrawImageAbort metody wywołania zwrotnego.

  • Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.

  • Tworzy punkty definiujące równoległy obraz, w którym ma być rysowanie obrazu.

  • Tworzy prostokąt, aby wybrać część obrazu do narysowania.

  • Ustawia jednostkę rysunku grafiki na piksel.

  • Rysuje oryginalny obraz na ekran.

  • Tworzy dodatkowy równoległyogram, w którym ma być narysowany obraz.

  • Tworzy i ustawia atrybuty dostosowanego obrazu, aby mieć większą niż zwykle wartość gamma.

  • Rysuje dostosowany obraz do ekranu.

W przypadku oryginalnego, nieokreślonego równoległegoogramu pozycja lokalizuje obraz na ekranie, a rozmiar prostokąta oraz rozmiar i kształt równoległegoogramu określa skalowanie i ścinanie rysunkowego obrazu.

Ponieważ w tym przykładzie użyto przeciążenia, które przekazuje callBackData parametr, Graphics.DrawImageAbort wywołanie zwrotne zwraca falsewartość , co powoduje DrawImage kontynuowanie metody, a przykład rysuje dostosowany obraz na ekran.

   // Define DrawImageAbort callback method.
private:
   bool DrawImageCallback2( IntPtr callBackData )
   {
      // Test for call that passes callBackData parameter.
      if ( callBackData == IntPtr::Zero )
      {
         // If no callBackData passed, abort DrawImage method.
         return true;
      }
      else
      {
         // If callBackData passed, continue DrawImage method.
         return false;
      }
   }

private:
   void DrawImageParaRectAttribAbortData( PaintEventArgs^ e )
   {
      // Create callback method.
      Graphics::DrawImageAbort^ imageCallback = gcnew Graphics::DrawImageAbort( this, &Form1::DrawImageCallback2 );
      int imageCallbackData = 1;

      // Create image.
      Image^ newImage = Image::FromFile( "SampImag.jpg" );

      // Create parallelogram for drawing original image.
      Point ulCorner = Point(100,100);
      Point urCorner = Point(550,100);
      Point llCorner = Point(150,250);
      array<Point>^ destPara1 = {ulCorner,urCorner,llCorner};

      // Create rectangle for source image.
      Rectangle srcRect = Rectangle(50,50,150,150);
      GraphicsUnit units = GraphicsUnit::Pixel;

      // Draw original image to screen.
      e->Graphics->DrawImage( newImage, destPara1, srcRect, units );

      // Create parallelogram for drawing adjusted image.
      Point ulCorner2 = Point(325,100);
      Point urCorner2 = Point(550,100);
      Point llCorner2 = Point(375,250);
      array<Point>^ destPara2 = {ulCorner2,urCorner2,llCorner2};

      // Create image attributes and set large gamma.
      ImageAttributes^ imageAttr = gcnew ImageAttributes;
      imageAttr->SetGamma( 4.0F );
      try
      {
         // Draw image to screen.
         e->Graphics->DrawImage( newImage, destPara2, srcRect, units, imageAttr, imageCallback, imageCallbackData );
      }
      catch ( Exception^ ex ) 
      {
         e->Graphics->DrawString( ex->ToString(), gcnew System::Drawing::Font( "Arial",8 ), Brushes::Black, PointF(0,0) );
      }
   }

// Define DrawImageAbort callback method.
private bool DrawImageCallback2(IntPtr callBackData)
{
             
    // Test for call that passes callBackData parameter.
    if(callBackData==IntPtr.Zero)
    {
             
        // If no callBackData passed, abort DrawImage method.
        return true;
    }
    else
    {
             
        // If callBackData passed, continue DrawImage method.
        return false;
    }
}
private void DrawImageParaRectAttribAbortData(PaintEventArgs e)
{
             
    // Create callback method.
    Graphics.DrawImageAbort imageCallback
        = new Graphics.DrawImageAbort(DrawImageCallback2);
    int imageCallbackData = 1;
             
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
             
    // Create parallelogram for drawing original image.
    Point ulCorner = new Point(100, 100);
    Point urCorner = new Point(550, 100);
    Point llCorner = new Point(150, 250);
    Point[] destPara1 = {ulCorner, urCorner, llCorner};
             
    // Create rectangle for source image.
    Rectangle srcRect = new Rectangle(50, 50, 150, 150);
    GraphicsUnit units = GraphicsUnit.Pixel;
             
    // Draw original image to screen.
    e.Graphics.DrawImage(newImage, destPara1, srcRect, units);
             
    // Create parallelogram for drawing adjusted image.
    Point ulCorner2 = new Point(325, 100);
    Point urCorner2 = new Point(550, 100);
    Point llCorner2 = new Point(375, 250);
    Point[] destPara2 = {ulCorner2, urCorner2, llCorner2};
             
    // Create image attributes and set large gamma.
    ImageAttributes imageAttr = new ImageAttributes();
    imageAttr.SetGamma(4.0F);
    try
    {
        checked
        {
             
            // Draw image to screen.
            e.Graphics.DrawImage(
                newImage,
                destPara2,
                srcRect,
                units,
                imageAttr,
                imageCallback,
                imageCallbackData);
        }
    }
    catch (Exception ex)
    {
        e.Graphics.DrawString(
            ex.ToString(),
            new Font("Arial", 8),
            Brushes.Black,
            new PointF(0, 0));
    }
}
Private Function DrawImageCallback2(ByVal callBackData As IntPtr) As Boolean

    ' Test for call that passes callBackData parameter.
    If callBackData.Equals(IntPtr.Zero) Then

        ' If no callBackData passed, abort DrawImage method.
        Return True
    Else

        ' If callBackData passed, continue DrawImage method.
        Return False
    End If
End Function
Private Sub DrawImageParaRectAttribAbortData(ByVal e As PaintEventArgs)

    ' Create callback method.
    Dim imageCallback As New _
    Graphics.DrawImageAbort(AddressOf DrawImageCallback2)
    Dim imageCallbackData As Integer = 1

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create parallelogram for drawing original image.
    Dim ulCorner As New Point(100, 100)
    Dim urCorner As New Point(550, 100)
    Dim llCorner As New Point(150, 250)
    Dim destPara1 As Point() = {ulCorner, urCorner, llCorner}

    ' Create rectangle for source image.
    Dim srcRect As New Rectangle(50, 50, 150, 150)
    Dim units As GraphicsUnit = GraphicsUnit.Pixel

    ' Draw original image to screen.
    e.Graphics.DrawImage(newImage, destPara1, srcRect, units)

    ' Create parallelogram for drawing adjusted image.
    Dim ulCorner2 As New Point(325, 100)
    Dim urCorner2 As New Point(550, 100)
    Dim llCorner2 As New Point(375, 250)
    Dim destPara2 As Point() = {ulCorner2, urCorner2, llCorner2}

    ' Create image attributes and set large gamma.
    Dim imageAttr As New ImageAttributes
    imageAttr.SetGamma(4.0F)
    Try

        ' Draw image to screen.
        e.Graphics.DrawImage(newImage, destPara2, srcRect, units, _
        imageAttr, imageCallback, imageCallbackData)
    Catch ex As Exception
        e.Graphics.DrawString(ex.ToString(), New Font("Arial", 8), _
        Brushes.Black, New PointF(0, 0))
    End Try
End Sub

Uwagi

Parametr destPoints określa trzy punkty parallelogramu. Trzy PointF struktury reprezentują lewe górne, prawe górne i lewe dolne rogi równoległegoogramu. Czwarty punkt jest ekstrapolowany z pierwszych trzech do utworzenia równoległego.

Parametr srcRect określa prostokątną część image obiektu do rysowania. Ta część jest skalowana i sznana w celu dopasowania do równoległegoogramu określonego destPoints przez parametr .

To przeciążenie za pomocą callback parametrów i callbackData umożliwia zatrzymanie rysunku obrazu po uruchomieniu zgodnie z kryteriami i danymi określonymi przez aplikację. Na przykład aplikacja może rozpocząć rysowanie dużego obrazu, a użytkownik może przewijać obraz z ekranu, w tym przypadku aplikacja może zatrzymać rysunek.

Zobacz też

Dotyczy

DrawImage(Image, PointF[], RectangleF, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, Int32)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

public:
 void DrawImage(System::Drawing::Image ^ image, cli::array <System::Drawing::PointF> ^ destPoints, System::Drawing::RectangleF srcRect, System::Drawing::GraphicsUnit srcUnit, System::Drawing::Imaging::ImageAttributes ^ imageAttr, System::Drawing::Graphics::DrawImageAbort ^ callback, int callbackData);
public void DrawImage (System.Drawing.Image image, System.Drawing.PointF[] destPoints, System.Drawing.RectangleF srcRect, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes imageAttr, System.Drawing.Graphics.DrawImageAbort callback, int callbackData);
public void DrawImage (System.Drawing.Image image, System.Drawing.PointF[] destPoints, System.Drawing.RectangleF srcRect, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes? imageAttr, System.Drawing.Graphics.DrawImageAbort? callback, int callbackData);
member this.DrawImage : System.Drawing.Image * System.Drawing.PointF[] * System.Drawing.RectangleF * System.Drawing.GraphicsUnit * System.Drawing.Imaging.ImageAttributes * System.Drawing.Graphics.DrawImageAbort * int -> unit
Public Sub DrawImage (image As Image, destPoints As PointF(), srcRect As RectangleF, srcUnit As GraphicsUnit, imageAttr As ImageAttributes, callback As Graphics.DrawImageAbort, callbackData As Integer)

Parametry

image
Image

Image aby narysować.

destPoints
PointF[]

Tablica trzech PointF struktur, które definiują równoległyogram.

srcRect
RectangleF

RectangleF struktura określająca część image obiektu do rysowania.

srcUnit
GraphicsUnit

Element członkowski wyliczenia GraphicsUnit , który określa jednostki miary używane przez srcRect parametr .

imageAttr
ImageAttributes

ImageAttributes określa ponowne kolorowanie i informacje gamma dla image obiektu.

callback
Graphics.DrawImageAbort

Graphics.DrawImageAbort delegate, który określa metodę wywołania podczas rysunku obrazu. Ta metoda jest często wywoływana w celu sprawdzenia, czy zatrzymać wykonywanie DrawImage(Image, PointF[], RectangleF, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, Int32) metody zgodnie z kryteriami określonymi przez aplikację.

callbackData
Int32

Wartość określająca dodatkowe dane dla delegata Graphics.DrawImageAbort do użycia podczas sprawdzania DrawImage(Image, PointF[], RectangleF, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, Int32) , czy zatrzymać wykonywanie metody.

Wyjątki

image to null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgseparametru PaPaint programu obsługi zdarzeń. Kod najpierw definiuje metodę wywołania zwrotnego dla Graphics.DrawImageAbort delegata. Definicja jest uproszczona i jedynie sprawdza, czy DrawImage metoda wywołuje ją za pomocą parametru null callBackData . Główna treść przykładu wykonuje następujące akcje:

  • Tworzy wystąpienie Graphics.DrawImageAbort metody wywołania zwrotnego.

  • Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.

  • Tworzy punkty definiujące równoległy obraz, w którym ma być rysowanie obrazu.

  • Tworzy prostokąt, aby wybrać część obrazu do narysowania.

  • Ustawia jednostkę rysunku grafiki na piksel.

  • Rysuje oryginalny obraz na ekran.

  • Tworzy dodatkowy równoległyogram, w którym ma być narysowany obraz.

  • Tworzy i ustawia atrybuty dostosowanego obrazu, aby mieć większą niż zwykle wartość gamma.

  • Rysuje dostosowany obraz do ekranu.

W przypadku oryginalnego, nieokreślonego równoległegoogramu pozycja lokalizuje obraz na ekranie, a rozmiar prostokąta oraz rozmiar i kształt równoległegoogramu określa skalowanie i ścinanie rysunkowego obrazu.

Ponieważ w tym przykładzie użyto przeciążenia, które przekazuje callBackData parametr, Graphics.DrawImageAbort wywołanie zwrotne zwraca falsewartość , co powoduje DrawImage kontynuowanie metody, a przykład rysuje dostosowany obraz na ekran.

   // Define DrawImageAbort callback method.
private:
   bool DrawImageCallback4( IntPtr callBackData )
   {
      // Test for call that passes callBackData parameter.
      if ( callBackData == IntPtr::Zero )
      {
         // If no callBackData passed, abort DrawImage method.
         return true;
      }
      else
      {
         // If callBackData passed, continue DrawImage method.
         return false;
      }
   }

private:
   void DrawImageParaFRectAttribAbortData( PaintEventArgs^ e )
   {
      // Create callback method.
      Graphics::DrawImageAbort^ imageCallback = gcnew Graphics::DrawImageAbort( this, &Form1::DrawImageCallback4 );
      int imageCallbackData = 1;

      // Create image.
      Image^ newImage = Image::FromFile( "SampImag.jpg" );

      // Create parallelogram for drawing original image.
      PointF ulCorner1 = PointF(100.0F,100.0F);
      PointF urCorner1 = PointF(325.0F,100.0F);
      PointF llCorner1 = PointF(150.0F,250.0F);
      array<PointF>^ destPara1 = {ulCorner1,urCorner1,llCorner1};

      // Create rectangle for source image.
      RectangleF srcRect = RectangleF(50.0F,50.0F,150.0F,150.0F);
      GraphicsUnit units = GraphicsUnit::Pixel;

      // Create parallelogram for drawing adjusted image.
      PointF ulCorner2 = PointF(325.0F,100.0F);
      PointF urCorner2 = PointF(550.0F,100.0F);
      PointF llCorner2 = PointF(375.0F,250.0F);
      array<PointF>^ destPara2 = {ulCorner2,urCorner2,llCorner2};

      // Draw original image to screen.
      e->Graphics->DrawImage( newImage, destPara1, srcRect, units );

      // Create image attributes and set large gamma.
      ImageAttributes^ imageAttr = gcnew ImageAttributes;
      imageAttr->SetGamma( 4.0F );
      try
      {
         // Draw adjusted image to screen.
         e->Graphics->DrawImage( newImage, destPara2, srcRect, units, imageAttr, imageCallback, imageCallbackData );
      }
      catch ( Exception^ ex ) 
      {
         e->Graphics->DrawString( ex->ToString(), gcnew System::Drawing::Font( "Arial",8 ), Brushes::Black, PointF(0,0) );
      }
   }

// Define DrawImageAbort callback method.
private bool DrawImageCallback4(IntPtr callBackData)
{
             
    // Test for call that passes callBackData parameter.
    if(callBackData==IntPtr.Zero)
    {
             
        // If no callBackData passed, abort DrawImage method.
        return true;
    }
    else
    {
             
        // If callBackData passed, continue DrawImage method.
        return false;
    }
}
private void DrawImageParaFRectAttribAbortData(PaintEventArgs e)
{
             
    // Create callback method.
    Graphics.DrawImageAbort imageCallback
        = new Graphics.DrawImageAbort(DrawImageCallback4);
    int imageCallbackData = 1;
             
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
             
    // Create parallelogram for drawing original image.
    PointF ulCorner1 = new PointF(100.0F, 100.0F);
    PointF urCorner1 = new PointF(325.0F, 100.0F);
    PointF llCorner1 = new PointF(150.0F, 250.0F);
    PointF[] destPara1 = {ulCorner1, urCorner1, llCorner1};
             
    // Create rectangle for source image.
    RectangleF srcRect = new RectangleF(50.0F, 50.0F, 150.0F, 150.0F);
    GraphicsUnit units = GraphicsUnit.Pixel;
             
    // Create parallelogram for drawing adjusted image.
    PointF ulCorner2 = new PointF(325.0F, 100.0F);
    PointF urCorner2 = new PointF(550.0F, 100.0F);
    PointF llCorner2 = new PointF(375.0F, 250.0F);
    PointF[] destPara2 = {ulCorner2, urCorner2, llCorner2};
             
    // Draw original image to screen.
    e.Graphics.DrawImage(newImage, destPara1, srcRect, units);
             
    // Create image attributes and set large gamma.
    ImageAttributes imageAttr = new ImageAttributes();
    imageAttr.SetGamma(4.0F);
    try
    {
        checked
        {
             
            // Draw adjusted image to screen.
            e.Graphics.DrawImage(
                newImage,
                destPara2,
                srcRect,
                units,
                imageAttr,
                imageCallback,
                imageCallbackData);
        }
    }
    catch (Exception ex)
    {
        e.Graphics.DrawString(
            ex.ToString(),
            new Font("Arial", 8),
            Brushes.Black,
            new PointF(0, 0));
    }
}
Private Function DrawImageCallback4(ByVal callBackData As IntPtr) As Boolean

    ' Test for call that passes callBackData parameter.
    If callBackData.Equals(IntPtr.Zero) Then

        ' If no callBackData passed, abort DrawImage method.
        Return True
    Else

        ' If callBackData passed, continue DrawImage method.
        Return False
    End If
End Function
Private Sub DrawImageParaFRectAttribAbortData(ByVal e As PaintEventArgs)

    ' Create callback method.
    Dim imageCallback As New _
    Graphics.DrawImageAbort(AddressOf DrawImageCallback4)
    Dim imageCallbackData As Integer = 1

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create parallelogram for drawing original image.
    Dim ulCorner1 As New PointF(100.0F, 100.0F)
    Dim urCorner1 As New PointF(325.0F, 100.0F)
    Dim llCorner1 As New PointF(150.0F, 250.0F)
    Dim destPara1 As PointF() = {ulCorner1, urCorner1, llCorner1}

    ' Create rectangle for source image.
    Dim srcRect As New RectangleF(50.0F, 50.0F, 150.0F, 150.0F)
    Dim units As GraphicsUnit = GraphicsUnit.Pixel

    ' Create parallelogram for drawing adjusted image.
    Dim ulCorner2 As New PointF(325.0F, 100.0F)
    Dim urCorner2 As New PointF(550.0F, 100.0F)
    Dim llCorner2 As New PointF(375.0F, 250.0F)
    Dim destPara2 As PointF() = {ulCorner2, urCorner2, llCorner2}

    ' Draw original image to screen.
    e.Graphics.DrawImage(newImage, destPara1, srcRect, units)

    ' Create image attributes and set large gamma.
    Dim imageAttr As New ImageAttributes
    imageAttr.SetGamma(4.0F)
    Try

        ' Draw adjusted image to screen.
        e.Graphics.DrawImage(newImage, destPara2, srcRect, units, _
        imageAttr, imageCallback, imageCallbackData)
    Catch ex As Exception
        e.Graphics.DrawString(ex.ToString(), New Font("Arial", 8), _
        Brushes.Black, New PointF(0, 0))
    End Try
End Sub

Uwagi

Parametr destPoints określa trzy punkty parallelogramu. Trzy PointF struktury reprezentują lewe górne, prawe górne i lewe dolne rogi równoległegoogramu. Czwarty punkt jest ekstrapolowany z pierwszych trzech do utworzenia równoległego.

Parametr srcRect określa prostokątną część image obiektu do rysowania. Ta część jest skalowana i sznana w celu dopasowania do równoległegoogramu określonego destPoints przez parametr .

To przeciążenie za pomocą callback parametrów i callbackData umożliwia zatrzymanie rysunku obrazu po uruchomieniu zgodnie z kryteriami i danymi określonymi przez aplikację. Na przykład aplikacja może rozpocząć rysowanie dużego obrazu, a użytkownik może przewijać obraz z ekranu, w tym przypadku aplikacja może zatrzymać rysunek.

Zobacz też

Dotyczy

DrawImage(Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

public:
 void DrawImage(System::Drawing::Image ^ image, System::Drawing::Rectangle destRect, int srcX, int srcY, int srcWidth, int srcHeight, System::Drawing::GraphicsUnit srcUnit);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, int srcX, int srcY, int srcWidth, int srcHeight, System.Drawing.GraphicsUnit srcUnit);
member this.DrawImage : System.Drawing.Image * System.Drawing.Rectangle * int * int * int * int * System.Drawing.GraphicsUnit -> unit
Public Sub DrawImage (image As Image, destRect As Rectangle, srcX As Integer, srcY As Integer, srcWidth As Integer, srcHeight As Integer, srcUnit As GraphicsUnit)

Parametry

image
Image

Image aby narysować.

destRect
Rectangle

Rectangle struktura określająca lokalizację i rozmiar rysunkowego obrazu. Obraz jest skalowany w celu dopasowania do prostokąta.

srcX
Int32

Współrzędna x lewego górnego rogu części obrazu źródłowego do rysowania.

srcY
Int32

Współrzędna y lewego górnego rogu części obrazu źródłowego do rysowania.

srcWidth
Int32

Szerokość części obrazu źródłowego do narysowania.

srcHeight
Int32

Wysokość części obrazu źródłowego do rysowania.

srcUnit
GraphicsUnit

Element członkowski wyliczenia GraphicsUnit , który określa jednostki miary używane do określania prostokąta źródłowego.

Wyjątki

image to null.

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ące akcje:

  • Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.

  • Tworzy prostokąt docelowy, w którym ma być rysowanie obrazu.

  • Tworzy współrzędne prostokąta źródłowego, z którego ma być wyodrębniony fragment obrazu.

  • Ustawia jednostkę miary prostokąta źródłowego na piksele.

  • Rysuje obraz na ekran.

Położenie prostokąta docelowego lokalizuje obraz na ekranie, a rozmiary prostokątów źródłowych i docelowych określają skalowanie narysowanego obrazu, a rozmiar prostokąta źródłowego określa, jaka część oryginalnego obrazu jest rysowana na ekranie.

void DrawImageRect4Int( PaintEventArgs^ e )
{
   // Create image.
   Image^ newImage = Image::FromFile( "SampImag.jpg" );

   // Create rectangle for displaying image.
   Rectangle destRect = Rectangle(100,100,450,150);

   // Create coordinates of rectangle for source image.
   int x = 50;
   int y = 50;
   int width = 150;
   int height = 150;
   GraphicsUnit units = GraphicsUnit::Pixel;

   // Draw image to screen.
   e->Graphics->DrawImage( newImage, destRect, x, y, width, height, units );
}
private void DrawImageRect4Int(PaintEventArgs e)
{
             
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
             
    // Create rectangle for displaying image.
    Rectangle destRect = new Rectangle(100, 100, 450, 150);
             
    // Create coordinates of rectangle for source image.
    int x = 50;
    int y = 50;
    int width = 150;
    int height = 150;
    GraphicsUnit units = GraphicsUnit.Pixel;
             
    // Draw image to screen.
    e.Graphics.DrawImage(newImage, destRect, x, y, width, height, units);
}
Private Sub DrawImageRect4Int(ByVal e As PaintEventArgs)

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create rectangle for displaying image.
    Dim destRect As New Rectangle(100, 100, 450, 150)

    ' Create coordinates of rectangle for source image.
    Dim x As Integer = 50
    Dim y As Integer = 50
    Dim width As Integer = 150
    Dim height As Integer = 150
    Dim units As GraphicsUnit = GraphicsUnit.Pixel

    ' Draw image to screen.
    e.Graphics.DrawImage(newImage, destRect, x, y, width, height, _
    units)
End Sub

Uwagi

Parametry srcX, srcY, srcWidthi srcHeight określają prostokątną część obiektu do image rysowania. Prostokąt jest względny względem lewego górnego rogu obrazu źródłowego. Ta część jest skalowana w celu dopasowania do prostokąta określonego destRect przez parametr .

Zobacz też

Dotyczy

DrawImage(Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit, ImageAttributes)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

public:
 void DrawImage(System::Drawing::Image ^ image, System::Drawing::Rectangle destRect, int srcX, int srcY, int srcWidth, int srcHeight, System::Drawing::GraphicsUnit srcUnit, System::Drawing::Imaging::ImageAttributes ^ imageAttr);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, int srcX, int srcY, int srcWidth, int srcHeight, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes imageAttr);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, int srcX, int srcY, int srcWidth, int srcHeight, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes? imageAttr);
member this.DrawImage : System.Drawing.Image * System.Drawing.Rectangle * int * int * int * int * System.Drawing.GraphicsUnit * System.Drawing.Imaging.ImageAttributes -> unit
Public Sub DrawImage (image As Image, destRect As Rectangle, srcX As Integer, srcY As Integer, srcWidth As Integer, srcHeight As Integer, srcUnit As GraphicsUnit, imageAttr As ImageAttributes)

Parametry

image
Image

Image aby narysować.

destRect
Rectangle

Rectangle struktura określająca lokalizację i rozmiar rysunkowego obrazu. Obraz jest skalowany w celu dopasowania do prostokąta.

srcX
Int32

Współrzędna x lewego górnego rogu części obrazu źródłowego do rysowania.

srcY
Int32

Współrzędna y lewego górnego rogu części obrazu źródłowego do rysowania.

srcWidth
Int32

Szerokość części obrazu źródłowego do narysowania.

srcHeight
Int32

Wysokość części obrazu źródłowego do rysowania.

srcUnit
GraphicsUnit

Element członkowski wyliczenia GraphicsUnit , który określa jednostki miary używane do określania prostokąta źródłowego.

imageAttr
ImageAttributes

ImageAttributes określa ponowne kolorowanie i informacje gamma dla image obiektu.

Wyjątki

image to null.

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ące akcje:

  • Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.

  • Tworzy prostokąt docelowy, w którym ma być rysowanie obrazu.

  • Tworzy współrzędne prostokąta źródłowego, z którego ma być wyodrębniony fragment obrazu.

  • Ustawia jednostkę miary prostokąta źródłowego na piksele.

  • Rysuje oryginalny obraz na ekran.

  • Tworzy dodatkowy prostokąt, w którym ma być narysowany obraz.

  • Tworzy i ustawia atrybuty dostosowanego obrazu, aby mieć większą niż zwykle wartość gamma.

  • Rysuje dostosowany obraz do ekranu.

W przypadku oryginalnego, nieokreślonego prostokąta docelowego pozycja lokalizuje obraz na ekranie, a rozmiary prostokątów źródłowych i docelowych określają skalowanie narysowanego obrazu, a rozmiar prostokąta źródłowego określa, jaka część oryginalnego obrazu jest rysowana na ekranie.

void DrawImageRect4IntAtrrib( PaintEventArgs^ e )
{
   // Create image.
   Image^ newImage = Image::FromFile( "SampImag.jpg" );

   // Create rectangle for displaying original image.
   Rectangle destRect1 = Rectangle(100,25,450,150);

   // Create coordinates of rectangle for source image.
   int x = 50;
   int y = 50;
   int width = 150;
   int height = 150;
   GraphicsUnit units = GraphicsUnit::Pixel;

   // Draw original image to screen.
   e->Graphics->DrawImage( newImage, destRect1, x, y, width, height, units );

   // Create rectangle for adjusted image.
   Rectangle destRect2 = Rectangle(100,175,450,150);

   // Create image attributes and set large gamma.
   ImageAttributes^ imageAttr = gcnew ImageAttributes;
   imageAttr->SetGamma( 4.0F );

   // Draw adjusted image to screen.
   e->Graphics->DrawImage( newImage, destRect2, x, y, width, height, units, imageAttr );
}
private void DrawImageRect4IntAtrrib(PaintEventArgs e)
{
             
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
             
    // Create rectangle for displaying original image.
    Rectangle destRect1 = new Rectangle(100, 25, 450, 150);
             
    // Create coordinates of rectangle for source image.
    int x = 50;
    int y = 50;
    int width = 150;
    int height = 150;
    GraphicsUnit units = GraphicsUnit.Pixel;
             
    // Draw original image to screen.
    e.Graphics.DrawImage(newImage, destRect1, x, y, width, height, units);
             
    // Create rectangle for adjusted image.
    Rectangle destRect2 = new Rectangle(100, 175, 450, 150);
             
    // Create image attributes and set large gamma.
    ImageAttributes imageAttr = new ImageAttributes();
    imageAttr.SetGamma(4.0F);
             
    // Draw adjusted image to screen.
    e.Graphics.DrawImage(newImage, destRect2, x, y, width, height, units, imageAttr);
}
Private Sub DrawImageRect4IntAtrrib(ByVal e As PaintEventArgs)

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create rectangle for displaying original image.
    Dim destRect1 As New Rectangle(100, 25, 450, 150)

    ' Create coordinates of rectangle for source image.
    Dim x As Integer = 50
    Dim y As Integer = 50
    Dim width As Integer = 150
    Dim height As Integer = 150
    Dim units As GraphicsUnit = GraphicsUnit.Pixel

    ' Draw original image to screen.
    e.Graphics.DrawImage(newImage, destRect1, x, y, width, height, _
    units)

    ' Create rectangle for adjusted image.
    Dim destRect2 As New Rectangle(100, 175, 450, 150)

    ' Create image attributes and set large gamma.
    Dim imageAttr As New ImageAttributes
    imageAttr.SetGamma(4.0F)

    ' Draw adjusted image to screen.
    e.Graphics.DrawImage(newImage, destRect2, x, y, width, height, _
    units, imageAttr)
End Sub

Uwagi

Parametry srcX, srcY, srcWidthi srcHeight określają prostokątną część obiektu do image rysowania. Prostokąt jest względny względem lewego górnego rogu obrazu źródłowego. Ta część jest skalowana w celu dopasowania do prostokąta określonego destRect przez parametr .

Zobacz też

Dotyczy

DrawImage(Image, Rectangle, Single, Single, Single, Single, GraphicsUnit, ImageAttributes)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

public:
 void DrawImage(System::Drawing::Image ^ image, System::Drawing::Rectangle destRect, float srcX, float srcY, float srcWidth, float srcHeight, System::Drawing::GraphicsUnit srcUnit, System::Drawing::Imaging::ImageAttributes ^ imageAttrs);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, float srcX, float srcY, float srcWidth, float srcHeight, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes imageAttrs);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, float srcX, float srcY, float srcWidth, float srcHeight, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes? imageAttrs);
member this.DrawImage : System.Drawing.Image * System.Drawing.Rectangle * single * single * single * single * System.Drawing.GraphicsUnit * System.Drawing.Imaging.ImageAttributes -> unit
Public Sub DrawImage (image As Image, destRect As Rectangle, srcX As Single, srcY As Single, srcWidth As Single, srcHeight As Single, srcUnit As GraphicsUnit, imageAttrs As ImageAttributes)

Parametry

image
Image

Image aby narysować.

destRect
Rectangle

Rectangle struktura określająca lokalizację i rozmiar rysunkowego obrazu. Obraz jest skalowany w celu dopasowania do prostokąta.

srcX
Single

Współrzędna x lewego górnego rogu części obrazu źródłowego do rysowania.

srcY
Single

Współrzędna y lewego górnego rogu części obrazu źródłowego do rysowania.

srcWidth
Single

Szerokość części obrazu źródłowego do narysowania.

srcHeight
Single

Wysokość części obrazu źródłowego do rysowania.

srcUnit
GraphicsUnit

Element członkowski wyliczenia GraphicsUnit , który określa jednostki miary używane do określania prostokąta źródłowego.

imageAttrs
ImageAttributes

ImageAttributes określa ponowne kolorowanie i informacje gamma dla image obiektu.

Wyjątki

image to null.

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ące akcje:

  • Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.

  • Tworzy prostokąt docelowy, w którym ma być rysowanie obrazu.

  • Tworzy współrzędne prostokąta źródłowego, z którego ma być wyodrębniony fragment obrazu.

  • Ustawia jednostkę miary prostokąta źródłowego na piksele.

  • Rysuje oryginalny obraz na ekran.

  • Tworzy dodatkowy prostokąt, w którym ma być narysowany obraz.

  • Tworzy i ustawia atrybuty dostosowanego obrazu, aby mieć większą niż zwykle wartość gamma.

  • Rysuje dostosowany obraz do ekranu.

W przypadku oryginalnego, nieokreślonego prostokąta docelowego pozycja lokalizuje obraz na ekranie, a rozmiary prostokątów źródłowych i docelowych określają skalowanie narysowanego obrazu, a rozmiar prostokąta źródłowego określa, jaka część oryginalnego obrazu jest rysowana na ekranie.

private:
   void DrawImageRect4FloatAttrib( PaintEventArgs^ e )
   {
      // Create image.
      Image^ newImage = Image::FromFile( "SampImag.jpg" );

      // Create rectangle for displaying original image.
      Rectangle destRect1 = Rectangle(100,25,450,150);

      // Create coordinates of rectangle for source image.
      float x = 50.0F;
      float y = 50.0F;
      float width = 150.0F;
      float height = 150.0F;
      GraphicsUnit units = GraphicsUnit::Pixel;

      // Draw original image to screen.
      e->Graphics->DrawImage( newImage, destRect1, x, y, width, height, units );

      // Create rectangle for adjusted image.
      Rectangle destRect2 = Rectangle(100,175,450,150);

      // Create image attributes and set large gamma.
      ImageAttributes^ imageAttr = gcnew ImageAttributes;
      imageAttr->SetGamma( 4.0F );

      // Draw adjusted image to screen.
      e->Graphics->DrawImage( newImage, destRect2, x, y, width, height, units, imageAttr );
   }
private void DrawImageRect4FloatAttrib(PaintEventArgs e)
{
             
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
             
    // Create rectangle for displaying original image.
    Rectangle destRect1 = new Rectangle(100, 25, 450, 150);
             
    // Create coordinates of rectangle for source image.
    float x = 50.0F;
    float y = 50.0F;
    float width = 150.0F;
    float height = 150.0F;
    GraphicsUnit units = GraphicsUnit.Pixel;
             
    // Draw original image to screen.
    e.Graphics.DrawImage(newImage, destRect1, x, y, width, height, units);
             
    // Create rectangle for adjusted image.
    Rectangle destRect2 = new Rectangle(100, 175, 450, 150);
             
    // Create image attributes and set large gamma.
    ImageAttributes imageAttr = new ImageAttributes();
    imageAttr.SetGamma(4.0F);
             
    // Draw adjusted image to screen.
    e.Graphics.DrawImage(newImage, destRect2, x, y, width, height, units, imageAttr);
}
Private Sub DrawImageRect4FloatAttrib(ByVal e As PaintEventArgs)

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create rectangle for displaying original image.
    Dim destRect1 As New Rectangle(100, 25, 450, 150)

    ' Create coordinates of rectangle for source image.
    Dim x As Single = 50.0F
    Dim y As Single = 50.0F
    Dim width As Single = 150.0F
    Dim height As Single = 150.0F
    Dim units As GraphicsUnit = GraphicsUnit.Pixel

    ' Draw original image to screen.
    e.Graphics.DrawImage(newImage, destRect1, x, y, width, _
    height, units)

    ' Create rectangle for adjusted image.
    Dim destRect2 As New Rectangle(100, 175, 450, 150)

    ' Create image attributes and set large gamma.
    Dim imageAttr As New ImageAttributes
    imageAttr.SetGamma(4.0F)

    ' Draw adjusted image to screen.
    e.Graphics.DrawImage(newImage, destRect2, x, y, width, height, _
    units, imageAttr)
End Sub

Uwagi

Parametry srcX, srcY, srcWidthi srcHeight określają prostokątną część obiektu do image rysowania. Prostokąt jest względny względem lewego górnego rogu obrazu źródłowego. Ta część jest skalowana w celu dopasowania do prostokąta określonego destRect przez parametr .

Zobacz też

Dotyczy

DrawImage(Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

public:
 void DrawImage(System::Drawing::Image ^ image, System::Drawing::Rectangle destRect, int srcX, int srcY, int srcWidth, int srcHeight, System::Drawing::GraphicsUnit srcUnit, System::Drawing::Imaging::ImageAttributes ^ imageAttr, System::Drawing::Graphics::DrawImageAbort ^ callback);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, int srcX, int srcY, int srcWidth, int srcHeight, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes imageAttr, System.Drawing.Graphics.DrawImageAbort callback);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, int srcX, int srcY, int srcWidth, int srcHeight, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes? imageAttr, System.Drawing.Graphics.DrawImageAbort? callback);
member this.DrawImage : System.Drawing.Image * System.Drawing.Rectangle * int * int * int * int * System.Drawing.GraphicsUnit * System.Drawing.Imaging.ImageAttributes * System.Drawing.Graphics.DrawImageAbort -> unit
Public Sub DrawImage (image As Image, destRect As Rectangle, srcX As Integer, srcY As Integer, srcWidth As Integer, srcHeight As Integer, srcUnit As GraphicsUnit, imageAttr As ImageAttributes, callback As Graphics.DrawImageAbort)

Parametry

image
Image

Image aby narysować.

destRect
Rectangle

Rectangle struktura określająca lokalizację i rozmiar rysunkowego obrazu. Obraz jest skalowany w celu dopasowania do prostokąta.

srcX
Int32

Współrzędna x lewego górnego rogu części obrazu źródłowego do rysowania.

srcY
Int32

Współrzędna y lewego górnego rogu części obrazu źródłowego do rysowania.

srcWidth
Int32

Szerokość części obrazu źródłowego do narysowania.

srcHeight
Int32

Wysokość części obrazu źródłowego do rysowania.

srcUnit
GraphicsUnit

Element członkowski wyliczenia GraphicsUnit , który określa jednostki miary używane do określania prostokąta źródłowego.

imageAttr
ImageAttributes

ImageAttributesktóry określa ponowne kolorowanie i informacje gamma dla .image

callback
Graphics.DrawImageAbort

Graphics.DrawImageAbort delegate, który określa metodę wywołania podczas rysunku obrazu. Ta metoda jest często wywoływana w celu sprawdzenia, czy zatrzymać wykonywanie DrawImage(Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort) metody zgodnie z kryteriami określonymi przez aplikację.

Wyjątki

image to null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgseparametru Paint programu obsługi zdarzeń. Kod najpierw definiuje metodę wywołania zwrotnego dla Graphics.DrawImageAbort delegata. Definicja jest uproszczona i jedynie sprawdza, czy DrawImage metoda wywołuje ją za pomocą parametru null callBackData . Główna treść przykładu wykonuje następujące akcje:

  • Tworzy wystąpienie Graphics.DrawImageAbort metody wywołania zwrotnego.

  • Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.

  • Tworzy punkty definiujące prostokąt docelowy, w którym ma być rysowanie obrazu.

  • Tworzy prostokąt źródłowy, aby wybrać część obrazu do narysowania.

  • Ustawia jednostkę rysunku grafiki na piksel.

  • Rysuje oryginalny obraz na ekran.

  • Tworzy dodatkowy prostokąt docelowy, w którym ma być narysowany obraz.

  • Tworzy i ustawia atrybuty dostosowanego obrazu, aby mieć większą niż zwykle wartość gamma.

  • Rysuje dostosowany obraz do ekranu.

W przypadku oryginalnego, nieokreślonego prostokąta docelowego pozycja lokalizuje obraz na ekranie, a rozmiar prostokąta źródłowego oraz rozmiar i kształt prostokąta docelowego określa skalowanie rysunkowego obrazu.

Ponieważ w tym przykładzie użyto przeciążenia, które nie przekazuje parametru callBackData , Graphics.DrawImageAbort wywołanie zwrotne zwraca truewartość , co powoduje DrawImage zakończenie metody, a kod obsługi wyjątków zawarty w przykładzie wyświetla tekst wyjątku, a nie rysuje obrazu.

   // Define DrawImageAbort callback method.
private:
   bool DrawImageCallback5( IntPtr callBackData )
   {
      // Test for call that passes callBackData parameter.
      if ( callBackData == IntPtr::Zero )
      {
         // If no callBackData passed, abort DrawImage method.
         return true;
      }
      else
      {
         // If callBackData passed, continue DrawImage method.
         return false;
      }
   }

private:
   void DrawImageRect4IntAtrribAbort( PaintEventArgs^ e )
   {
      // Create callback method.
      Graphics::DrawImageAbort^ imageCallback = gcnew Graphics::DrawImageAbort( this, &Form1::DrawImageCallback5 );

      // Create image.
      Image^ newImage = Image::FromFile( "SampImag.jpg" );

      // Create rectangle for displaying original image.
      Rectangle destRect1 = Rectangle(100,25,450,150);

      // Create coordinates of rectangle for source image.
      int x = 50;
      int y = 50;
      int width = 150;
      int height = 150;
      GraphicsUnit units = GraphicsUnit::Pixel;

      // Draw original image to screen.
      e->Graphics->DrawImage( newImage, destRect1, x, y, width, height, units );

      // Create rectangle for adjusted image.
      Rectangle destRect2 = Rectangle(100,175,450,150);

      // Create image attributes and set large gamma.
      ImageAttributes^ imageAttr = gcnew ImageAttributes;
      imageAttr->SetGamma( 4.0F );
      try
      {
         // Draw adjusted image to screen.
         e->Graphics->DrawImage( newImage, destRect2, x, y, width, height, units, imageAttr, imageCallback );
      }
      catch ( Exception^ ex ) 
      {
         e->Graphics->DrawString( ex->ToString(), gcnew System::Drawing::Font( "Arial",8 ), Brushes::Black, PointF(0,0) );
      }
   }

// Define DrawImageAbort callback method.
private bool DrawImageCallback5(IntPtr callBackData)
{
             
    // Test for call that passes callBackData parameter.
    if(callBackData==IntPtr.Zero)
    {
             
        // If no callBackData passed, abort DrawImage method.
        return true;
    }
    else
    {
             
        // If callBackData passed, continue DrawImage method.
        return false;
    }
}
private void DrawImageRect4IntAtrribAbort(PaintEventArgs e)
{
             
    // Create callback method.
    Graphics.DrawImageAbort imageCallback
        = new Graphics.DrawImageAbort(DrawImageCallback5);
             
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
             
    // Create rectangle for displaying original image.
    Rectangle destRect1 = new Rectangle(100, 25, 450, 150);
             
    // Create coordinates of rectangle for source image.
    int x = 50;
    int y = 50;
    int width = 150;
    int height = 150;
    GraphicsUnit units = GraphicsUnit.Pixel;
             
    // Draw original image to screen.
    e.Graphics.DrawImage(newImage, destRect1, x, y, width, height, units);
             
    // Create rectangle for adjusted image.
    Rectangle destRect2 = new Rectangle(100, 175, 450, 150);
             
    // Create image attributes and set large gamma.
    ImageAttributes imageAttr = new ImageAttributes();
    imageAttr.SetGamma(4.0F);
    try
    {
        checked
        {
             
            // Draw adjusted image to screen.
            e.Graphics.DrawImage(
                newImage,
                destRect2,
                x, y,
                width, height,
                units,
                imageAttr,
                imageCallback);
        }
    }
    catch (Exception ex)
    {
        e.Graphics.DrawString(
            ex.ToString(),
            new Font("Arial", 8),
            Brushes.Black,
            new PointF(0, 0));
    }
}
Private Function DrawImageCallback5(ByVal callBackData As IntPtr) As Boolean

    ' Test for call that passes callBackData parameter.
    If callBackData.Equals(IntPtr.Zero) Then

        ' If no callBackData passed, abort DrawImage method.
        Return True
    Else

        ' If callBackData passed, continue DrawImage method.
        Return False
    End If
End Function
Private Sub DrawImageRect4IntAtrribAbort(ByVal e As PaintEventArgs)

    ' Create callback method.
    Dim imageCallback As New _
    Graphics.DrawImageAbort(AddressOf DrawImageCallback5)

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create rectangle for displaying original image.
    Dim destRect1 As New Rectangle(100, 25, 450, 150)

    ' Create coordinates of rectangle for source image.
    Dim x As Integer = 50
    Dim y As Integer = 50
    Dim width As Integer = 150
    Dim height As Integer = 150
    Dim units As GraphicsUnit = GraphicsUnit.Pixel

    ' Draw original image to screen.
    e.Graphics.DrawImage(newImage, destRect1, x, y, width, height, _
    units)

    ' Create rectangle for adjusted image.
    Dim destRect2 As New Rectangle(100, 175, 450, 150)

    ' Create image attributes and set large gamma.
    Dim imageAttr As New ImageAttributes
    imageAttr.SetGamma(4.0F)
    Try

        ' Draw adjusted image to screen.
        e.Graphics.DrawImage(newImage, destRect2, x, y, width, _
        height, units, imageAttr, imageCallback)
    Catch ex As Exception
        e.Graphics.DrawString(ex.ToString(), New Font("Arial", 8), _
        Brushes.Black, New PointF(0, 0))
    End Try
End Sub

Uwagi

Parametry srcX, srcY, srcWidthi srcHeight określają prostokątną część obiektu do image rysowania. Prostokąt jest względny względem lewego górnego rogu obrazu źródłowego. Ta część jest skalowana w celu dopasowania do prostokąta określonego destRect przez obiekt.

To przeciążenie za pomocą parametru callback zapewnia metodę zatrzymania rysunku obrazu po uruchomieniu zgodnie z kryteriami określonymi przez aplikację. Na przykład aplikacja może rozpocząć rysowanie dużego obrazu, a użytkownik może przewijać obraz z ekranu, w tym przypadku aplikacja może zatrzymać rysunek.

Zobacz też

Dotyczy

DrawImage(Image, Rectangle, Single, Single, Single, Single, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

public:
 void DrawImage(System::Drawing::Image ^ image, System::Drawing::Rectangle destRect, float srcX, float srcY, float srcWidth, float srcHeight, System::Drawing::GraphicsUnit srcUnit, System::Drawing::Imaging::ImageAttributes ^ imageAttrs, System::Drawing::Graphics::DrawImageAbort ^ callback);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, float srcX, float srcY, float srcWidth, float srcHeight, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes imageAttrs, System.Drawing.Graphics.DrawImageAbort callback);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, float srcX, float srcY, float srcWidth, float srcHeight, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes? imageAttrs, System.Drawing.Graphics.DrawImageAbort? callback);
member this.DrawImage : System.Drawing.Image * System.Drawing.Rectangle * single * single * single * single * System.Drawing.GraphicsUnit * System.Drawing.Imaging.ImageAttributes * System.Drawing.Graphics.DrawImageAbort -> unit
Public Sub DrawImage (image As Image, destRect As Rectangle, srcX As Single, srcY As Single, srcWidth As Single, srcHeight As Single, srcUnit As GraphicsUnit, imageAttrs As ImageAttributes, callback As Graphics.DrawImageAbort)

Parametry

image
Image

Image aby narysować.

destRect
Rectangle

Rectangle struktura określająca lokalizację i rozmiar rysunkowego obrazu. Obraz jest skalowany w celu dopasowania do prostokąta.

srcX
Single

Współrzędna x lewego górnego rogu części obrazu źródłowego do rysowania.

srcY
Single

Współrzędna y lewego górnego rogu części obrazu źródłowego do rysowania.

srcWidth
Single

Szerokość części obrazu źródłowego do narysowania.

srcHeight
Single

Wysokość części obrazu źródłowego do rysowania.

srcUnit
GraphicsUnit

Element członkowski wyliczenia GraphicsUnit , który określa jednostki miary używane do określania prostokąta źródłowego.

imageAttrs
ImageAttributes

ImageAttributes określa ponowne kolorowanie i informacje gamma dla image obiektu.

callback
Graphics.DrawImageAbort

Graphics.DrawImageAbort delegate, który określa metodę wywołania podczas rysunku obrazu. Ta metoda jest często wywoływana w celu sprawdzenia, czy zatrzymać wykonywanie DrawImage(Image, Rectangle, Single, Single, Single, Single, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort) metody zgodnie z kryteriami określonymi przez aplikację.

Wyjątki

image to null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgseparametru Paint programu obsługi zdarzeń. Kod najpierw definiuje metodę wywołania zwrotnego dla Graphics.DrawImageAbort delegata. Definicja jest uproszczona i jedynie sprawdza, czy DrawImage metoda wywołuje ją za pomocą parametru null callBackData . Główna treść przykładu wykonuje następujące akcje:

  • Tworzy wystąpienie Graphics.DrawImageAbort metody wywołania zwrotnego.

  • Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.

  • Tworzy punkty definiujące prostokąt docelowy, w którym ma być rysowanie obrazu.

  • Tworzy prostokąt źródłowy, aby wybrać część obrazu do narysowania.

  • Ustawia jednostkę rysunku grafiki na piksel.

  • Rysuje oryginalny obraz na ekran.

  • Tworzy dodatkowy prostokąt docelowy, w którym ma być narysowany obraz.

  • Tworzy i ustawia atrybuty dostosowanego obrazu, aby mieć większą niż zwykle wartość gamma.

  • Rysuje dostosowany obraz do ekranu.

W przypadku oryginalnego, nieokreślonego prostokąta docelowego pozycja lokalizuje obraz na ekranie, a rozmiar prostokąta źródłowego oraz rozmiar i kształt prostokąta docelowego określa skalowanie rysunkowego obrazu.

Ponieważ w tym przykładzie użyto przeciążenia, które nie przekazuje parametru callBackData , Graphics.DrawImageAbort wywołanie zwrotne zwraca truewartość , co powoduje DrawImage zakończenie metody, a kod obsługi wyjątków zawarty w przykładzie wyświetla tekst wyjątku, a nie rysuje obrazu.

   // Define DrawImageAbort callback method.
private:
   bool DrawImageCallback7( IntPtr callBackData )
   {
      // Test for call that passes callBackData parameter.
      if ( callBackData == IntPtr::Zero )
      {
         // If no callBackData passed, abort DrawImage method.
         return true;
      }
      else
      {
         // If callBackData passed, continue DrawImage method.
         return false;
      }
   }

private:
   void DrawImageRect4FloatAttribAbort( PaintEventArgs^ e )
   {
      // Create callback method.
      Graphics::DrawImageAbort^ imageCallback = gcnew Graphics::DrawImageAbort( this, &Form1::DrawImageCallback7 );

      // Create image.
      Image^ newImage = Image::FromFile( "SampImag.jpg" );

      // Create rectangle for displaying original image.
      Rectangle destRect1 = Rectangle(100,25,450,150);

      // Create coordinates of rectangle for source image.
      float x = 50.0F;
      float y = 50.0F;
      float width = 150.0F;
      float height = 150.0F;
      GraphicsUnit units = GraphicsUnit::Pixel;

      // Draw original image to screen.
      e->Graphics->DrawImage( newImage, destRect1, x, y, width, height, units );

      // Create rectangle for adjusted image.
      Rectangle destRect2 = Rectangle(100,175,450,150);

      // Create image attributes and set large gamma.
      ImageAttributes^ imageAttr = gcnew ImageAttributes;
      imageAttr->SetGamma( 4.0F );
      try
      {
         // Draw adjusted image to screen.
         e->Graphics->DrawImage( newImage, destRect2, x, y, width, height, units, imageAttr, imageCallback );
      }
      catch ( Exception^ ex ) 
      {
         e->Graphics->DrawString( ex->ToString(), gcnew System::Drawing::Font( "Arial",8 ), Brushes::Black, PointF(0,0) );
      }
   }

// Define DrawImageAbort callback method.
private bool DrawImageCallback7(IntPtr callBackData)
{
             
    // Test for call that passes callBackData parameter.
    if(callBackData==IntPtr.Zero)
    {
             
        // If no callBackData passed, abort DrawImage method.
        return true;
    }
    else
    {
             
        // If callBackData passed, continue DrawImage method.
        return false;
    }
}
private void DrawImageRect4FloatAttribAbort(PaintEventArgs e)
{
             
    // Create callback method.
    Graphics.DrawImageAbort imageCallback
        = new Graphics.DrawImageAbort(DrawImageCallback7);
             
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
             
    // Create rectangle for displaying original image.
    Rectangle destRect1 = new Rectangle(100, 25, 450, 150);
             
    // Create coordinates of rectangle for source image.
    float x = 50.0F;
    float y = 50.0F;
    float width = 150.0F;
    float height = 150.0F;
    GraphicsUnit units = GraphicsUnit.Pixel;
             
    // Draw original image to screen.
    e.Graphics.DrawImage(newImage, destRect1, x, y, width, height, units);
             
    // Create rectangle for adjusted image.
    Rectangle destRect2 = new Rectangle(100, 175, 450, 150);
             
    // Create image attributes and set large gamma.
    ImageAttributes imageAttr = new ImageAttributes();
    imageAttr.SetGamma(4.0F);
    try
    {
        checked
        {
             
            // Draw adjusted image to screen.
            e.Graphics.DrawImage(
                newImage,
                destRect2,
                x, y,
                width, height,
                units,
                imageAttr,
                imageCallback);
        }
    }
    catch (Exception ex)
    {
        e.Graphics.DrawString(
            ex.ToString(),
            new Font("Arial", 8),
            Brushes.Black,
            new PointF(0, 0));
    }
}
Private Function DrawImageCallback7(ByVal callBackData As IntPtr) As Boolean

    ' Test for call that passes callBackData parameter.
    If callBackData.Equals(IntPtr.Zero) Then

        ' If no callBackData passed, abort DrawImage method.
        Return True
    Else

        ' If callBackData passed, continue DrawImage method.
        Return False
    End If
End Function
Private Sub DrawImageRect4FloatAttribAbort(ByVal e As PaintEventArgs)

    ' Create callback method.
    Dim imageCallback As New _
    Graphics.DrawImageAbort(AddressOf DrawImageCallback7)

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create rectangle for displaying original image.
    Dim destRect1 As New Rectangle(100, 25, 450, 150)

    ' Create coordinates of rectangle for source image.
    Dim x As Single = 50.0F
    Dim y As Single = 50.0F
    Dim width As Single = 150.0F
    Dim height As Single = 150.0F
    Dim units As GraphicsUnit = GraphicsUnit.Pixel

    ' Draw original image to screen.
    e.Graphics.DrawImage(newImage, destRect1, x, y, width, _
    height, units)

    ' Create rectangle for adjusted image.
    Dim destRect2 As New Rectangle(100, 175, 450, 150)

    ' Create image attributes and set large gamma.
    Dim imageAttr As New ImageAttributes
    imageAttr.SetGamma(4.0F)
    Try

        ' Draw adjusted image to screen.
        e.Graphics.DrawImage(newImage, destRect2, x, y, width, _
        height, units, imageAttr, imageCallback)
    Catch ex As Exception
        e.Graphics.DrawString(ex.ToString(), New Font("Arial", 8), _
        Brushes.Black, New PointF(0, 0))
    End Try
End Sub

Uwagi

Parametry srcX, srcY, srcWidthi srcHeight określają prostokątną część obiektu do image rysowania. Prostokąt jest względny względem lewego górnego rogu obrazu źródłowego. Ta część jest skalowana w celu dopasowania do prostokąta określonego destRect przez parametr .

To przeciążenie za pomocą parametru callback zapewnia metodę zatrzymania rysunku obrazu po uruchomieniu zgodnie z kryteriami określonymi przez aplikację. Na przykład aplikacja może rozpocząć rysowanie dużego obrazu, a użytkownik może przewijać obraz z ekranu, w tym przypadku aplikacja może zatrzymać rysunek.

Zobacz też

Dotyczy

DrawImage(Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, IntPtr)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

public:
 void DrawImage(System::Drawing::Image ^ image, System::Drawing::Rectangle destRect, int srcX, int srcY, int srcWidth, int srcHeight, System::Drawing::GraphicsUnit srcUnit, System::Drawing::Imaging::ImageAttributes ^ imageAttrs, System::Drawing::Graphics::DrawImageAbort ^ callback, IntPtr callbackData);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, int srcX, int srcY, int srcWidth, int srcHeight, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes imageAttrs, System.Drawing.Graphics.DrawImageAbort callback, IntPtr callbackData);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, int srcX, int srcY, int srcWidth, int srcHeight, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes? imageAttrs, System.Drawing.Graphics.DrawImageAbort? callback, IntPtr callbackData);
member this.DrawImage : System.Drawing.Image * System.Drawing.Rectangle * int * int * int * int * System.Drawing.GraphicsUnit * System.Drawing.Imaging.ImageAttributes * System.Drawing.Graphics.DrawImageAbort * nativeint -> unit
Public Sub DrawImage (image As Image, destRect As Rectangle, srcX As Integer, srcY As Integer, srcWidth As Integer, srcHeight As Integer, srcUnit As GraphicsUnit, imageAttrs As ImageAttributes, callback As Graphics.DrawImageAbort, callbackData As IntPtr)

Parametry

image
Image

Image aby narysować.

destRect
Rectangle

Rectangle struktura określająca lokalizację i rozmiar rysunkowego obrazu. Obraz jest skalowany w celu dopasowania do prostokąta.

srcX
Int32

Współrzędna x lewego górnego rogu części obrazu źródłowego do rysowania.

srcY
Int32

Współrzędna y lewego górnego rogu części obrazu źródłowego do rysowania.

srcWidth
Int32

Szerokość części obrazu źródłowego do narysowania.

srcHeight
Int32

Wysokość części obrazu źródłowego do rysowania.

srcUnit
GraphicsUnit

Element członkowski wyliczenia GraphicsUnit , który określa jednostki miary używane do określania prostokąta źródłowego.

imageAttrs
ImageAttributes

ImageAttributes określa ponowne kolorowanie i informacje gamma dla image obiektu.

callback
Graphics.DrawImageAbort

Graphics.DrawImageAbort delegate, który określa metodę wywołania podczas rysunku obrazu. Ta metoda jest często wywoływana w celu sprawdzenia, czy zatrzymać wykonywanie DrawImage(Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, IntPtr) metody zgodnie z kryteriami określonymi przez aplikację.

callbackData
IntPtr

nativeint

Wartość określająca dodatkowe dane dla delegata Graphics.DrawImageAbort do użycia podczas sprawdzania DrawImage , czy zatrzymać wykonywanie metody.

Wyjątki

image to null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgseparametru Paint programu obsługi zdarzeń. Kod najpierw definiuje metodę wywołania zwrotnego dla Graphics.DrawImageAbort delegata. Definicja jest uproszczona i jedynie sprawdza, czy DrawImage metoda wywołuje ją za pomocą parametru null callBackData . Główna treść przykładu wykonuje następujące akcje:

  • Tworzy wystąpienie Graphics.DrawImageAbort metody wywołania zwrotnego.

  • Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.

  • Tworzy punkty definiujące prostokąt docelowy, w którym ma być rysowanie obrazu.

  • Tworzy prostokąt źródłowy, aby wybrać część obrazu do narysowania.

  • Ustawia jednostkę rysunku grafiki na piksel.

  • Rysuje oryginalny obraz na ekran.

  • Tworzy dodatkowy prostokąt docelowy, w którym ma być narysowany obraz.

  • Tworzy i ustawia atrybuty dostosowanego obrazu, aby mieć większą niż zwykle wartość gamma.

  • Rysuje dostosowany obraz do ekranu.

W przypadku oryginalnego, nieokreślonego prostokąta docelowego pozycja lokalizuje obraz na ekranie, a rozmiar prostokąta źródłowego oraz rozmiar i kształt prostokąta docelowego określa skalowanie rysunkowego obrazu.

Ponieważ w tym przykładzie użyto przeciążenia, które przekazuje callBackData parametr, Graphics.DrawImageAbort wywołanie zwrotne zwraca falsewartość , co powoduje DrawImage kontynuowanie metody, a przykład rysuje dostosowany obraz na ekran.

   // Define DrawImageAbort callback method.
private:
   bool DrawImageCallback6( IntPtr callBackData )
   {
      // Test for call that passes callBackData parameter.
      if ( callBackData == IntPtr::Zero )
      {
         // If no callBackData passed, abort DrawImage method.
         return true;
      }
      else
      {
         // If callBackData passed, continue DrawImage method.
         return false;
      }
   }

private:
   void DrawImageRect4IntAtrribAbortData( PaintEventArgs^ e )
   {
      // Create callback method.
      Graphics::DrawImageAbort^ imageCallback = gcnew Graphics::DrawImageAbort( this, &Form1::DrawImageCallback6 );
      IntPtr imageCallbackData = IntPtr(1);

      // Create image.
      Image^ newImage = Image::FromFile( "SampImag.jpg" );

      // Create rectangle for displaying original image.
      Rectangle destRect1 = Rectangle(100,25,450,150);

      // Create coordinates of rectangle for source image.
      int x = 50;
      int y = 50;
      int width = 150;
      int height = 150;
      GraphicsUnit units = GraphicsUnit::Pixel;

      // Draw original image to screen.
      e->Graphics->DrawImage( newImage, destRect1, x, y, width, height, units );

      // Create rectangle for adjusted image.
      Rectangle destRect2 = Rectangle(100,175,450,150);

      // Create image attributes and set large gamma.
      ImageAttributes^ imageAttr = gcnew ImageAttributes;
      imageAttr->SetGamma( 4.0F );
      try
      {
         // Draw adjusted image to screen.
         e->Graphics->DrawImage( newImage, destRect2, x, y, width, height, units, imageAttr, imageCallback, imageCallbackData );
      }
      catch ( Exception^ ex ) 
      {
         e->Graphics->DrawString( ex->ToString(), gcnew System::Drawing::Font( "Arial",8 ), Brushes::Black, PointF(0,0) );
      }
   }

// Define DrawImageAbort callback method.
private bool DrawImageCallback6(IntPtr callBackData)
{
             
    // Test for call that passes callBackData parameter.
    if(callBackData==IntPtr.Zero)
    {
             
        // If no callBackData passed, abort DrawImage method.
        return true;
    }
    else
    {
             
        // If callBackData passed, continue DrawImage method.
        return false;
    }
}
private void DrawImageRect4IntAtrribAbortData(PaintEventArgs e)
{
             
    // Create callback method.
    Graphics.DrawImageAbort imageCallback
        = new Graphics.DrawImageAbort(DrawImageCallback6);
    IntPtr imageCallbackData = new IntPtr(1);
             
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
             
    // Create rectangle for displaying original image.
    Rectangle destRect1 = new Rectangle(100, 25, 450, 150);
             
    // Create coordinates of rectangle for source image.
    int x = 50;
    int y = 50;
    int width = 150;
    int height = 150;
    GraphicsUnit units = GraphicsUnit.Pixel;
             
    // Draw original image to screen.
    e.Graphics.DrawImage(newImage, destRect1, x, y, width, height, units);
             
    // Create rectangle for adjusted image.
    Rectangle destRect2 = new Rectangle(100, 175, 450, 150);
             
    // Create image attributes and set large gamma.
    ImageAttributes imageAttr = new ImageAttributes();
    imageAttr.SetGamma(4.0F);
    try
    {
        checked
        {
             
            // Draw adjusted image to screen.
            e.Graphics.DrawImage(
                newImage,
                destRect2,
                x, y,
                width, height,
                units,
                imageAttr,
                imageCallback,
                imageCallbackData);
        }
    }
    catch (Exception ex)
    {
        e.Graphics.DrawString(
            ex.ToString(),
            new Font("Arial", 8),
            Brushes.Black,
            new PointF(0, 0));
    }
}
Private Function DrawImageCallback6(ByVal callBackData As IntPtr) As Boolean

    ' Test for call that passes callBackData parameter.
    If callBackData.Equals(IntPtr.Zero) Then

        ' If no callBackData passed, abort DrawImage method.
        Return True
    Else

        ' If callBackData passed, continue DrawImage method.
        Return False
    End If
End Function
Private Sub DrawImageRect4IntAtrribAbortData(ByVal e As PaintEventArgs)

    ' Create callback method.
    Dim imageCallback As New _
    Graphics.DrawImageAbort(AddressOf DrawImageCallback6)
    Dim imageCallbackData As New IntPtr(1)

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create rectangle for displaying original image.
    Dim destRect1 As New Rectangle(100, 25, 450, 150)

    ' Create coordinates of rectangle for source image.
    Dim x As Integer = 50
    Dim y As Integer = 50
    Dim width As Integer = 150
    Dim height As Integer = 150
    Dim units As GraphicsUnit = GraphicsUnit.Pixel

    ' Draw original image to screen.
    e.Graphics.DrawImage(newImage, destRect1, x, y, width, height, _
    units)

    ' Create rectangle for adjusted image.
    Dim destRect2 As New Rectangle(100, 175, 450, 150)

    ' Create image attributes and set large gamma.
    Dim imageAttr As New ImageAttributes
    imageAttr.SetGamma(4.0F)
    Try

        ' Draw adjusted image to screen.
        e.Graphics.DrawImage(newImage, destRect2, x, y, width, _
        height, units, imageAttr, imageCallback, imageCallbackData)
    Catch ex As Exception
        e.Graphics.DrawString(ex.ToString(), New Font("Arial", 8), _
        Brushes.Black, New PointF(0, 0))
    End Try
End Sub

Uwagi

Parametry srcX, srcY, srcWidthi srcHeight określają prostokątną część obiektu do image rysowania. Prostokąt jest względny względem lewego górnego rogu obrazu źródłowego. Ta część jest skalowana w celu dopasowania do prostokąta określonego destRect przez parametr .

To przeciążenie za pomocą callback parametrów i callbackData umożliwia zatrzymanie rysunku obrazu po uruchomieniu zgodnie z kryteriami i danymi określonymi przez aplikację. Na przykład aplikacja może rozpocząć rysowanie dużego obrazu, a użytkownik może przewijać obraz z ekranu, w tym przypadku aplikacja może zatrzymać rysunek.

Zobacz też

Dotyczy

DrawImage(Image, Rectangle, Single, Single, Single, Single, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, IntPtr)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

public:
 void DrawImage(System::Drawing::Image ^ image, System::Drawing::Rectangle destRect, float srcX, float srcY, float srcWidth, float srcHeight, System::Drawing::GraphicsUnit srcUnit, System::Drawing::Imaging::ImageAttributes ^ imageAttrs, System::Drawing::Graphics::DrawImageAbort ^ callback, IntPtr callbackData);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, float srcX, float srcY, float srcWidth, float srcHeight, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes imageAttrs, System.Drawing.Graphics.DrawImageAbort callback, IntPtr callbackData);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, float srcX, float srcY, float srcWidth, float srcHeight, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes? imageAttrs, System.Drawing.Graphics.DrawImageAbort? callback, IntPtr callbackData);
member this.DrawImage : System.Drawing.Image * System.Drawing.Rectangle * single * single * single * single * System.Drawing.GraphicsUnit * System.Drawing.Imaging.ImageAttributes * System.Drawing.Graphics.DrawImageAbort * nativeint -> unit
Public Sub DrawImage (image As Image, destRect As Rectangle, srcX As Single, srcY As Single, srcWidth As Single, srcHeight As Single, srcUnit As GraphicsUnit, imageAttrs As ImageAttributes, callback As Graphics.DrawImageAbort, callbackData As IntPtr)

Parametry

image
Image

Image do rysowania.

destRect
Rectangle

Rectangle struktura określająca lokalizację i rozmiar narysowanego obrazu. Obraz jest skalowany w celu dopasowania do prostokąta.

srcX
Single

Współrzędna x lewego górnego rogu części obrazu źródłowego do rysowania.

srcY
Single

Współrzędna y lewego górnego rogu części obrazu źródłowego do rysowania.

srcWidth
Single

Szerokość części obrazu źródłowego do rysowania.

srcHeight
Single

Wysokość części obrazu źródłowego do rysowania.

srcUnit
GraphicsUnit

Element członkowski GraphicsUnit wyliczenia, który określa jednostki miary używane do określania prostokąta źródłowego.

imageAttrs
ImageAttributes

ImageAttributes określa ponowne kolorowanie i informacje gamma dla image obiektu.

callback
Graphics.DrawImageAbort

Graphics.DrawImageAbort delegate, który określa metodę do wywołania podczas rysowania obrazu. Ta metoda jest często wywoływana w celu sprawdzenia, czy zatrzymać wykonywanie DrawImage(Image, Rectangle, Single, Single, Single, Single, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, IntPtr) metody zgodnie z kryteriami określonymi przez aplikację.

callbackData
IntPtr

nativeint

Wartość określająca dodatkowe dane dla delegata Graphics.DrawImageAbort do użycia podczas sprawdzania DrawImage , czy zatrzymać wykonywanie metody.

Wyjątki

image to null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgseparametru Paint programu obsługi zdarzeń. Kod najpierw definiuje metodę wywołania zwrotnego dla Graphics.DrawImageAbort delegata. Definicja jest uproszczona i jedynie sprawdza, czy DrawImage metoda wywołuje ją za pomocą parametru null callBackData . Główna treść przykładu wykonuje następujące akcje:

  • Tworzy wystąpienie Graphics.DrawImageAbort metody wywołania zwrotnego.

  • Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.

  • Tworzy punkty definiujące prostokąt docelowy, w którym ma być rysowanie obrazu.

  • Tworzy prostokąt źródłowy, aby wybrać część obrazu do narysowania.

  • Ustawia jednostkę rysunku grafiki na piksel.

  • Rysuje oryginalny obraz na ekran.

  • Tworzy dodatkowy prostokąt docelowy, w którym ma być narysowany obraz.

  • Tworzy i ustawia atrybuty dostosowanego obrazu, aby mieć większą niż zwykle wartość gamma.

  • Rysuje dostosowany obraz do ekranu.

W przypadku oryginalnego, nieokreślonego prostokąta docelowego pozycja lokalizuje obraz na ekranie, a rozmiar prostokąta źródłowego oraz rozmiar i kształt prostokąta docelowego określa skalowanie rysunkowego obrazu.

Ponieważ w tym przykładzie użyto przeciążenia, które przekazuje callBackData parametr, Graphics.DrawImageAbort wywołanie zwrotne zwraca falsewartość , co powoduje DrawImage kontynuowanie metody, a przykład rysuje dostosowany obraz na ekran.

   // Define DrawImageAbort callback method.
private:
   bool DrawImageCallback8( IntPtr callBackData )
   {
      // Test for call that passes callBackData parameter.
      if ( callBackData == IntPtr::Zero )
      {
         
         // If no callBackData passed, abort DrawImage method.
         return true;
      }
      else
      {
         
         // If callBackData passed, continue DrawImage method.
         return false;
      }
   }

public:
   void DrawImageRect4FloatAttribAbortData( PaintEventArgs^ e )
   {
      // Create callback method.
      Graphics::DrawImageAbort^ imageCallback = gcnew Graphics::DrawImageAbort( this, &Form1::DrawImageCallback8 );
      IntPtr imageCallbackData = IntPtr(1);

      // Create image.
      Image^ newImage = Image::FromFile( "SampImag.jpg" );

      // Create rectangle for displaying original image.
      Rectangle destRect1 = Rectangle(100,25,450,150);

      // Create coordinates of rectangle for source image.
      float x = 50.0F;
      float y = 50.0F;
      float width = 150.0F;
      float height = 150.0F;
      GraphicsUnit units = GraphicsUnit::Pixel;

      // Draw original image to screen.
      e->Graphics->DrawImage( newImage, destRect1, x, y, width, height, units );

      // Create rectangle for adjusted image.
      Rectangle destRect2 = Rectangle(100,175,450,150);

      // Create image attributes and set large gamma.
      ImageAttributes^ imageAttr = gcnew ImageAttributes;
      imageAttr->SetGamma( 4.0F );

      // Draw adjusted image to screen.
      try
      {
         // Draw adjusted image to screen.
         e->Graphics->DrawImage( newImage, destRect2, x, y, width, height, units, imageAttr, imageCallback, imageCallbackData );
      }
      catch ( Exception^ ex ) 
      {
         e->Graphics->DrawString( ex->ToString(), gcnew System::Drawing::Font( "Arial",8 ), Brushes::Black, PointF(0,0) );
      }
   }

// Define DrawImageAbort callback method.
private bool DrawImageCallback8(IntPtr callBackData)
{
             
    // Test for call that passes callBackData parameter.
    if(callBackData==IntPtr.Zero)
    {
             
        // If no callBackData passed, abort DrawImage method.
        return true;
    }
    else
    {
             
        // If callBackData passed, continue DrawImage method.
        return false;
    }
}
public void DrawImageRect4FloatAttribAbortData(PaintEventArgs e)
{
             
    // Create callback method.
    Graphics.DrawImageAbort imageCallback
        = new Graphics.DrawImageAbort(DrawImageCallback8);
    IntPtr imageCallbackData = new IntPtr(1);
             
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
             
    // Create rectangle for displaying original image.
    Rectangle destRect1 = new Rectangle(100, 25, 450, 150);
             
    // Create coordinates of rectangle for source image.
    float x = 50.0F;
    float y = 50.0F;
    float width = 150.0F;
    float height = 150.0F;
    GraphicsUnit units = GraphicsUnit.Pixel;
             
    // Draw original image to screen.
    e.Graphics.DrawImage(newImage, destRect1, x, y, width, height, units);
             
    // Create rectangle for adjusted image.
    Rectangle destRect2 = new Rectangle(100, 175, 450, 150);
             
    // Create image attributes and set large gamma.
    ImageAttributes imageAttr = new ImageAttributes();
    imageAttr.SetGamma(4.0F);
             
    // Draw adjusted image to screen.
    try
    {
        checked
        {
             
            // Draw adjusted image to screen.
            e.Graphics.DrawImage(
                newImage,
                destRect2,
                x, y,
                width, height,
                units,
                imageAttr,
                imageCallback,
                imageCallbackData);
        }
    }
    catch (Exception ex)
    {
        e.Graphics.DrawString(
            ex.ToString(),
            new Font("Arial", 8),
            Brushes.Black,
            new PointF(0, 0));
    }
}
Private Function DrawImageCallback8(ByVal callBackData As IntPtr) As Boolean

    ' Test for call that passes callBackData parameter.
    If callBackData.Equals(IntPtr.Zero) Then

        ' If no callBackData passed, abort DrawImage method.
        Return True
    Else

        ' If callBackData passed, continue DrawImage method.
        Return False
    End If
End Function
Public Sub DrawImageRect4FloatAttribAbortData(ByVal e As PaintEventArgs)

    ' Create callback method.
    Dim imageCallback As New _
    Graphics.DrawImageAbort(AddressOf DrawImageCallback8)
    Dim imageCallbackData As New IntPtr(1)

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create rectangle for displaying original image.
    Dim destRect1 As New Rectangle(100, 25, 450, 150)

    ' Create coordinates of rectangle for source image.
    Dim x As Single = 50.0F
    Dim y As Single = 50.0F
    Dim width As Single = 150.0F
    Dim height As Single = 150.0F
    Dim units As GraphicsUnit = GraphicsUnit.Pixel

    ' Draw original image to screen.
    e.Graphics.DrawImage(newImage, destRect1, x, y, width, _
    height, units)

    ' Create rectangle for adjusted image.
    Dim destRect2 As New Rectangle(100, 175, 450, 150)

    ' Create image attributes and set large gamma.
    Dim imageAttr As New ImageAttributes
    imageAttr.SetGamma(4.0F)

    ' Draw adjusted image to screen.
    Try

        ' Draw adjusted image to screen.
        e.Graphics.DrawImage(newImage, destRect2, x, y, width, _
        height, units, imageAttr, imageCallback, imageCallbackData)
    Catch ex As Exception
        e.Graphics.DrawString(ex.ToString(), New Font("Arial", 8), _
        Brushes.Black, New PointF(0, 0))
    End Try
End Sub

Uwagi

Parametry srcX, , srcWidthsrcYi srcHeight określają prostokątną część obiektu do image rysowania. Prostokąt jest powiązany z lewym górnym róg obrazu źródłowego. Ta część jest skalowana w celu dopasowania do prostokąta określonego destRect przez parametr .

To przeciążenie za pomocą callback parametrów i callbackData umożliwia zatrzymanie rysowania obrazu po uruchomieniu go zgodnie z kryteriami i danymi określonymi przez aplikację. Na przykład aplikacja może rozpocząć rysowanie dużego obrazu, a użytkownik może przewinąć obraz z ekranu, w tym przypadku aplikacja może zatrzymać rysunek.

Zobacz też

Dotyczy

DrawImage(Image, Rectangle, Single, Single, Single, Single, GraphicsUnit)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

public:
 void DrawImage(System::Drawing::Image ^ image, System::Drawing::Rectangle destRect, float srcX, float srcY, float srcWidth, float srcHeight, System::Drawing::GraphicsUnit srcUnit);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, float srcX, float srcY, float srcWidth, float srcHeight, System.Drawing.GraphicsUnit srcUnit);
member this.DrawImage : System.Drawing.Image * System.Drawing.Rectangle * single * single * single * single * System.Drawing.GraphicsUnit -> unit
Public Sub DrawImage (image As Image, destRect As Rectangle, srcX As Single, srcY As Single, srcWidth As Single, srcHeight As Single, srcUnit As GraphicsUnit)

Parametry

image
Image

Image do rysowania.

destRect
Rectangle

Rectangle struktura określająca lokalizację i rozmiar narysowanego obrazu. Obraz jest skalowany w celu dopasowania do prostokąta.

srcX
Single

Współrzędna x lewego górnego rogu części obrazu źródłowego do rysowania.

srcY
Single

Współrzędna y lewego górnego rogu części obrazu źródłowego do rysowania.

srcWidth
Single

Szerokość części obrazu źródłowego do rysowania.

srcHeight
Single

Wysokość części obrazu źródłowego do rysowania.

srcUnit
GraphicsUnit

Element członkowski GraphicsUnit wyliczenia, który określa jednostki miary używane do określania prostokąta źródłowego.

Wyjątki

image to null.

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ące akcje:

  • Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.

  • Tworzy współrzędne prostokąta docelowego, w którym ma być narysowyny obraz.

  • Tworzy prostokąt źródłowy, z którego ma być wyodrębniony fragment obrazu.

  • Ustawia jednostkę miary prostokąta źródłowego na piksele.

  • Rysuje obraz na ekran.

Położenie prostokąta docelowego lokalizuje obraz na ekranie, rozmiary prostokątów źródłowych i docelowych określają skalowanie narysowanego obrazu, a rozmiar prostokąta źródłowego określa, jaka część oryginalnego obrazu jest rysowana na ekranie.

private:
   void DrawImageRect4Float( PaintEventArgs^ e )
   {
      // Create image.
      Image^ newImage = Image::FromFile( "SampImag.jpg" );

      // Create rectangle for displaying image.
      Rectangle destRect = Rectangle(100,100,450,150);

      // Create coordinates of rectangle for source image.
      float x = 50.0F;
      float y = 50.0F;
      float width = 150.0F;
      float height = 150.0F;
      GraphicsUnit units = GraphicsUnit::Pixel;

      // Draw image to screen.
      e->Graphics->DrawImage( newImage, destRect, x, y, width, height, units );
   }
private void DrawImageRect4Float(PaintEventArgs e)
{
             
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
             
    // Create rectangle for displaying image.
    Rectangle destRect = new Rectangle(100, 100, 450, 150);
             
    // Create coordinates of rectangle for source image.
    float x = 50.0F;
    float y = 50.0F;
    float width = 150.0F;
    float height = 150.0F;
    GraphicsUnit units = GraphicsUnit.Pixel;
             
    // Draw image to screen.
    e.Graphics.DrawImage(newImage, destRect, x, y, width, height, units);
}
Private Sub DrawImageRect4Float(ByVal e As PaintEventArgs)

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create rectangle for displaying image.
    Dim destRect As New Rectangle(100, 100, 450, 150)

    ' Create coordinates of rectangle for source image.
    Dim x As Single = 50.0F
    Dim y As Single = 50.0F
    Dim width As Single = 150.0F
    Dim height As Single = 150.0F
    Dim units As GraphicsUnit = GraphicsUnit.Pixel

    ' Draw image to screen.
    e.Graphics.DrawImage(newImage, destRect, x, y, width, height, _
    units)
End Sub

Uwagi

Parametry srcX, , srcWidthsrcYi srcHeight określają prostokątną część obiektu do image rysowania. Prostokąt jest powiązany z lewym górnym róg obrazu źródłowego. Ta część jest skalowana w celu dopasowania do prostokąta określonego destRect przez parametr .

Zobacz też

Dotyczy

DrawImage(Image, Int32, Int32, Int32, Int32)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określony Image w określonej lokalizacji i o określonym rozmiarze.

public:
 void DrawImage(System::Drawing::Image ^ image, int x, int y, int width, int height);
public void DrawImage (System.Drawing.Image image, int x, int y, int width, int height);
member this.DrawImage : System.Drawing.Image * int * int * int * int -> unit
Public Sub DrawImage (image As Image, x As Integer, y As Integer, width As Integer, height As Integer)

Parametry

image
Image

Image do rysowania.

x
Int32

Współrzędna x lewego górnego rogu narysowanego obrazu.

y
Int32

Współrzędna y lewego górnego rogu narysowanego obrazu.

width
Int32

Szerokość narysowanego obrazu.

height
Int32

Wysokość narysowanego obrazu.

Wyjątki

image to null.

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ące akcje:

  • Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.

  • Tworzy położenie i rozmiar prostokąta, w którym ma być narysowyny obraz.

  • Rysuje obraz na ekran.

Położenie prostokąta lokalizuje obraz na ekranie, a rozmiar oryginalnego obrazu i rozmiar prostokąta określa skalowanie narysowanego obrazu.

public:
   void DrawImage4Int( PaintEventArgs^ e )
   {
      // Create image.
      Image^ newImage = Image::FromFile( "SampImag.jpg" );

      // Create coordinates for upper-left corner.
      // of image and for size of image.
      int x = 100;
      int y = 100;
      int width = 450;
      int height = 150;

      // Draw image to screen.
      e->Graphics->DrawImage( newImage, x, y, width, height );
   }
public void DrawImage4Int(PaintEventArgs e)
{
             
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
             
    // Create coordinates for upper-left corner.
             
    // of image and for size of image.
    int x = 100;
    int y = 100;
    int width = 450;
    int height = 150;
             
    // Draw image to screen.
    e.Graphics.DrawImage(newImage, x, y, width, height);
}
Public Sub DrawImage4Int(ByVal e As PaintEventArgs)

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create coordinates for upper-left corner

    ' of image and for size of image.
    Dim x As Integer = 100
    Dim y As Integer = 100
    Dim width As Integer = 450
    Dim height As Integer = 150

    ' Draw image to screen.
    e.Graphics.DrawImage(newImage, x, y, width, height)
End Sub

Uwagi

Prostokąt zdefiniowany przez xparametry , , ywidthi height określa położenie i rozmiar narysowanego obrazu.

Zobacz też

Dotyczy

DrawImage(Image, Single, Single, Single, Single)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określony Image w określonej lokalizacji i o określonym rozmiarze.

public:
 void DrawImage(System::Drawing::Image ^ image, float x, float y, float width, float height);
public void DrawImage (System.Drawing.Image image, float x, float y, float width, float height);
member this.DrawImage : System.Drawing.Image * single * single * single * single -> unit
Public Sub DrawImage (image As Image, x As Single, y As Single, width As Single, height As Single)

Parametry

image
Image

Image do rysowania.

x
Single

Współrzędna x lewego górnego rogu narysowanego obrazu.

y
Single

Współrzędna y lewego górnego rogu narysowanego obrazu.

width
Single

Szerokość narysowanego obrazu.

height
Single

Wysokość narysowanego obrazu.

Wyjątki

image to null.

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ące akcje:

  • Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.

  • Tworzy położenie i rozmiar prostokąta, w którym ma być narysowyny obraz.

  • Rysuje obraz na ekran.

Położenie prostokąta lokalizuje obraz na ekranie, a rozmiar oryginalnego obrazu i rozmiar prostokąta określa skalowanie narysowanego obrazu.

public:
   void DrawImage4Float( PaintEventArgs^ e )
   {
      // Create image.
      Image^ newImage = Image::FromFile( "SampImag.jpg" );

      // Create coordinates for upper-left corner.
      // of image and for size of image.
      float x = 100.0F;
      float y = 100.0F;
      float width = 450.0F;
      float height = 150.0F;

      // Draw image to screen.
      e->Graphics->DrawImage( newImage, x, y, width, height );
   }
public void DrawImage4Float(PaintEventArgs e)
{
             
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
             
    // Create coordinates for upper-left corner.
             
    // of image and for size of image.
    float x = 100.0F;
    float y = 100.0F;
    float width = 450.0F;
    float height = 150.0F;
             
    // Draw image to screen.
    e.Graphics.DrawImage(newImage, x, y, width, height);
}
Public Sub DrawImage4Float(ByVal e As PaintEventArgs)

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create coordinates for upper-left corner

    ' of image and for size of image.
    Dim x As Single = 100.0F
    Dim y As Single = 100.0F
    Dim width As Single = 450.0F
    Dim height As Single = 150.0F

    ' Draw image to screen.
    e.Graphics.DrawImage(newImage, x, y, width, height)
End Sub

Uwagi

Prostokąt zdefiniowany przez xparametry , , ywidthi height określa położenie i rozmiar narysowanego obrazu.

Zobacz też

Dotyczy

DrawImage(Image, PointF[], RectangleF, GraphicsUnit, ImageAttributes)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

public:
 void DrawImage(System::Drawing::Image ^ image, cli::array <System::Drawing::PointF> ^ destPoints, System::Drawing::RectangleF srcRect, System::Drawing::GraphicsUnit srcUnit, System::Drawing::Imaging::ImageAttributes ^ imageAttr);
public void DrawImage (System.Drawing.Image image, System.Drawing.PointF[] destPoints, System.Drawing.RectangleF srcRect, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes imageAttr);
public void DrawImage (System.Drawing.Image image, System.Drawing.PointF[] destPoints, System.Drawing.RectangleF srcRect, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes? imageAttr);
member this.DrawImage : System.Drawing.Image * System.Drawing.PointF[] * System.Drawing.RectangleF * System.Drawing.GraphicsUnit * System.Drawing.Imaging.ImageAttributes -> unit
Public Sub DrawImage (image As Image, destPoints As PointF(), srcRect As RectangleF, srcUnit As GraphicsUnit, imageAttr As ImageAttributes)

Parametry

image
Image

Image do rysowania.

destPoints
PointF[]

Tablica trzech PointF struktur definiujących równoległyogram.

srcRect
RectangleF

RectangleF struktura określająca część image obiektu do rysowania.

srcUnit
GraphicsUnit

Element członkowski GraphicsUnit wyliczenia, który określa jednostki miary używane przez srcRect parametr .

imageAttr
ImageAttributes

ImageAttributes określa ponowne kolorowanie i informacje gamma dla image obiektu.

Wyjątki

image to null.

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ące akcje:

  • Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.

  • Tworzy punkty definiujące docelowy równoległyogram, w którym ma być narysowy obraz.

  • Tworzy prostokąt źródłowy, z którego ma być wyodrębniony fragment obrazu.

  • Ustawia jednostkę miary prostokąta źródłowego na piksele.

  • Rysuje oryginalny obraz na ekran.

  • Tworzy dodatkowy równoległyogram, w którym ma być rysowany dostosowany obraz.

  • Tworzy i ustawia atrybuty dostosowanego obrazu, aby mieć większą niż zwykle wartość gamma.

  • Rysuje dostosowany obraz do ekranu.

W przypadku oryginalnego, niesprzyjętego docelowego równoległegoogramu pozycja lokalizuje obraz na ekranie, rozmiar prostokąta źródłowego oraz rozmiar i kształt docelowego równoległegoogramu określa skalowanie i ścinanie narysowanego obrazu, a rozmiar prostokąta określa, jaka część oryginalnego obrazu jest rysowana na ekranie.

void DrawImageParaFRectFAttrib( PaintEventArgs^ e )
{
   // Create image.
   Image^ newImage = Image::FromFile( "SampImag.jpg" );

   // Create parallelogram for drawing original image.
   PointF ulCorner1 = PointF(100.0F,100.0F);
   PointF urCorner1 = PointF(325.0F,100.0F);
   PointF llCorner1 = PointF(150.0F,250.0F);
   array<PointF>^ destPara1 = {ulCorner1,urCorner1,llCorner1};

   // Create rectangle for source image.
   RectangleF srcRect = RectangleF(50.0F,50.0F,150.0F,150.0F);
   GraphicsUnit units = GraphicsUnit::Pixel;

   // Create parallelogram for drawing adjusted image.
   PointF ulCorner2 = PointF(325.0F,100.0F);
   PointF urCorner2 = PointF(550.0F,100.0F);
   PointF llCorner2 = PointF(375.0F,250.0F);
   array<PointF>^ destPara2 = {ulCorner2,urCorner2,llCorner2};

   // Draw original image to screen.
   e->Graphics->DrawImage( newImage, destPara1, srcRect, units );

   // Create image attributes and set large gamma.
   ImageAttributes^ imageAttr = gcnew ImageAttributes;
   imageAttr->SetGamma( 4.0F );

   // Draw adjusted image to screen.
   e->Graphics->DrawImage( newImage, destPara2, srcRect, units, imageAttr );
}
private void DrawImageParaFRectFAttrib(PaintEventArgs e)
{
             
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
             
    // Create parallelogram for drawing original image.
    PointF ulCorner1 = new PointF(100.0F, 100.0F);
    PointF urCorner1 = new PointF(325.0F, 100.0F);
    PointF llCorner1 = new PointF(150.0F, 250.0F);
    PointF[] destPara1 = {ulCorner1, urCorner1, llCorner1};
             
    // Create rectangle for source image.
    RectangleF srcRect = new RectangleF(50.0F, 50.0F, 150.0F, 150.0F);
    GraphicsUnit units = GraphicsUnit.Pixel;
             
    // Create parallelogram for drawing adjusted image.
    PointF ulCorner2 = new PointF(325.0F, 100.0F);
    PointF urCorner2 = new PointF(550.0F, 100.0F);
    PointF llCorner2 = new PointF(375.0F, 250.0F);
    PointF[] destPara2 = {ulCorner2, urCorner2, llCorner2};
             
    // Draw original image to screen.
    e.Graphics.DrawImage(newImage, destPara1, srcRect, units);
             
    // Create image attributes and set large gamma.
    ImageAttributes imageAttr = new ImageAttributes();
    imageAttr.SetGamma(4.0F);
             
    // Draw adjusted image to screen.
    e.Graphics.DrawImage(newImage, destPara2, srcRect, units, imageAttr);
}
Private Sub DrawImageParaFRectFAttrib(ByVal e As PaintEventArgs)

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create parallelogram for drawing original image.
    Dim ulCorner1 As New PointF(100.0F, 100.0F)
    Dim urCorner1 As New PointF(325.0F, 100.0F)
    Dim llCorner1 As New PointF(150.0F, 250.0F)
    Dim destPara1 As PointF() = {ulCorner1, urCorner1, llCorner1}

    ' Create rectangle for source image.
    Dim srcRect As New RectangleF(50.0F, 50.0F, 150.0F, 150.0F)
    Dim units As GraphicsUnit = GraphicsUnit.Pixel

    ' Create parallelogram for drawing adjusted image.
    Dim ulCorner2 As New PointF(325.0F, 100.0F)
    Dim urCorner2 As New PointF(550.0F, 100.0F)
    Dim llCorner2 As New PointF(375.0F, 250.0F)
    Dim destPara2 As PointF() = {ulCorner2, urCorner2, llCorner2}

    ' Draw original image to screen.
    e.Graphics.DrawImage(newImage, destPara1, srcRect, units)

    ' Create image attributes and set large gamma.
    Dim imageAttr As New ImageAttributes
    imageAttr.SetGamma(4.0F)

    ' Draw adjusted image to screen.
    e.Graphics.DrawImage(newImage, destPara2, srcRect, units, _
    imageAttr)
End Sub

Uwagi

Parametr destPoints określa trzy punkty parallelogramu. Trzy PointF struktury reprezentują lewy górny, prawy górny i lewy dolny róg równoległogramu. Czwarty punkt jest ekstrapolowany z pierwszych trzech do utworzenia równoległegoogramu.

Parametr srcRect określa prostokątną część image obiektu do rysowania. Ta część jest skalowana i sznana w celu dopasowania do równoległegoogramu określonego destPoints przez parametr .

Zobacz też

Dotyczy

DrawImage(Image, Effect)

Źródło:
Graphics.cs
public:
 void DrawImage(System::Drawing::Image ^ image, System::Drawing::Imaging::Effects::Effect ^ effect);
public void DrawImage (System.Drawing.Image image, System.Drawing.Imaging.Effects.Effect effect);
member this.DrawImage : System.Drawing.Image * System.Drawing.Imaging.Effects.Effect -> unit
Public Sub DrawImage (image As Image, effect As Effect)

Parametry

image
Image
effect
Effect

Dotyczy

DrawImage(Image, Point)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określony Imageelement , używając oryginalnego rozmiaru fizycznego w określonej lokalizacji.

public:
 void DrawImage(System::Drawing::Image ^ image, System::Drawing::Point point);
public void DrawImage (System.Drawing.Image image, System.Drawing.Point point);
member this.DrawImage : System.Drawing.Image * System.Drawing.Point -> unit
Public Sub DrawImage (image As Image, point As Point)

Parametry

image
Image

Image aby narysować.

point
Point

Point struktura reprezentująca lokalizację lewego górnego rogu narysowanego obrazu.

Wyjątki

image to null.

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ące akcje:

  • Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.

  • Tworzy punkt, w którym ma być rysowanie lewego górnego rogu obrazu.

  • Rysuje nieskalowany obraz na ekran.

private:
   void DrawImagePoint( PaintEventArgs^ e )
   {
      // Create image.
      Image^ newImage = Image::FromFile( "SampImag.jpg" );

      // Create Point for upper-left corner of image.
      Point ulCorner = Point(100,100);

      // Draw image to screen.
      e->Graphics->DrawImage( newImage, ulCorner );
   }
private void DrawImagePoint(PaintEventArgs e)
{         
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
             
    // Create Point for upper-left corner of image.
    Point ulCorner = new Point(100, 100);
             
    // Draw image to screen.
    e.Graphics.DrawImage(newImage, ulCorner);
}
Private Sub DrawImagePoint(ByVal e As PaintEventArgs)

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create Point for upper-left corner of image.
    Dim ulCorner As New Point(100, 100)

    ' Draw image to screen.
    e.Graphics.DrawImage(newImage, ulCorner)
End Sub

Uwagi

Element Image przechowuje wartość szerokości pikseli i wartość rozdzielczości poziomej (kropki na cal). Szerokość fizyczna mierzona w calach obrazu to szerokość pikseli podzielona przez rozdzielczość poziomą. Na przykład obraz o szerokości pikseli 216 i rozdzielczości poziomej 72 kropek na cal ma fizyczną szerokość 3 cali. Podobne uwagi dotyczą wysokości pikseli i wysokości fizycznej.

Ta metoda rysuje obraz przy użyciu rozmiaru fizycznego, więc obraz będzie miał poprawny rozmiar w calach niezależnie od rozdzielczości (kropki na cal) urządzenia wyświetlania. Załóżmy na przykład, że obraz ma szerokość pikseli 216 i rozdzielczość poziomą 72 kropek na cal. Jeśli wywołasz tę metodę, aby narysować ten obraz na urządzeniu o rozdzielczości 96 kropek na cal, szerokość pikseli renderowanego obrazu będzie (216/72)*96 = 288.

Zobacz też

Dotyczy

DrawImage(Image, Point[])

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określony Image element w określonej lokalizacji i o określonym kształcie i rozmiarze.

public:
 void DrawImage(System::Drawing::Image ^ image, cli::array <System::Drawing::Point> ^ destPoints);
public void DrawImage (System.Drawing.Image image, System.Drawing.Point[] destPoints);
member this.DrawImage : System.Drawing.Image * System.Drawing.Point[] -> unit
Public Sub DrawImage (image As Image, destPoints As Point())

Parametry

image
Image

Image aby narysować.

destPoints
Point[]

Tablica trzech Point struktur, które definiują równoległyogram.

Wyjątki

image to null.

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ące akcje:

  • Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.

  • Tworzy punkty definiujące równoległy obraz, w którym ma być rysowanie obrazu.

  • Rysuje obraz na ekran.

Pozycja parallelogramu lokalizuje obraz na ekranie, a rozmiar oryginalnego obrazu oraz rozmiar i kształt równoległegoogramu określa skalowanie i ścinanie rysunkowego obrazu.

private:
   void DrawImagePara( PaintEventArgs^ e )
   {
      // Create image.
      Image^ newImage = Image::FromFile( "SampImag.jpg" );

      // Create parallelogram for drawing image.
      Point ulCorner = Point(100,100);
      Point urCorner = Point(550,100);
      Point llCorner = Point(150,250);
      array<Point>^ destPara = {ulCorner,urCorner,llCorner};

      // Draw image to screen.
      e->Graphics->DrawImage( newImage, destPara );
   }
private void DrawImagePara(PaintEventArgs e)
{
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
             
    // Create parallelogram for drawing image.
    Point ulCorner = new Point(100, 100);
    Point urCorner = new Point(550, 100);
    Point llCorner = new Point(150, 250);
    Point[] destPara = {ulCorner, urCorner, llCorner};
             
    // Draw image to screen.
    e.Graphics.DrawImage(newImage, destPara);
}
Private Sub DrawImagePara(ByVal e As PaintEventArgs)

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create parallelogram for drawing image.
    Dim ulCorner As New Point(100, 100)
    Dim urCorner As New Point(550, 100)
    Dim llCorner As New Point(150, 250)
    Dim destPara As Point() = {ulCorner, urCorner, llCorner}

    ' Draw image to screen.
    e.Graphics.DrawImage(newImage, destPara)
End Sub

Uwagi

Parametr destPoints określa trzy punkty parallelogramu. Trzy Point struktury reprezentują lewe górne, prawe górne i lewe dolne rogi równoległegoogramu. Czwarty punkt jest ekstrapolowany z pierwszych trzech do utworzenia równoległego.

Obraz reprezentowany przez image parametr jest skalowany i szkalowany w celu dopasowania do kształtu równoległegoogramu określonego destPoints przez parametry.

Zobacz też

Dotyczy

DrawImage(Image, PointF)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określony Imageelement , używając oryginalnego rozmiaru fizycznego w określonej lokalizacji.

public:
 void DrawImage(System::Drawing::Image ^ image, System::Drawing::PointF point);
public void DrawImage (System.Drawing.Image image, System.Drawing.PointF point);
member this.DrawImage : System.Drawing.Image * System.Drawing.PointF -> unit
Public Sub DrawImage (image As Image, point As PointF)

Parametry

image
Image

Image aby narysować.

point
PointF

PointF struktura reprezentująca lewy górny róg narysowanego obrazu.

Wyjątki

image to null.

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ące akcje:

  • Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.

  • Tworzy punkt, w którym ma być rysowanie lewego górnego rogu obrazu.

  • Rysuje nieskalowany obraz na ekran.

private:
   void DrawImagePointF( PaintEventArgs^ e )
   {
      // Create image.
      Image^ newImage = Image::FromFile( "SampImag.jpg" );

      // Create point for upper-left corner of image.
      PointF ulCorner = PointF(100.0F,100.0F);

      // Draw image to screen.
      e->Graphics->DrawImage( newImage, ulCorner );
   }
private void DrawImagePointF(PaintEventArgs e)
{
             
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
             
    // Create point for upper-left corner of image.
    PointF ulCorner = new PointF(100.0F, 100.0F);
             
    // Draw image to screen.
    e.Graphics.DrawImage(newImage, ulCorner);
}
Private Sub DrawImagePointF(ByVal e As PaintEventArgs)

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create point for upper-left corner of image.
    Dim ulCorner As New PointF(100.0F, 100.0F)

    ' Draw image to screen.
    e.Graphics.DrawImage(newImage, ulCorner)
End Sub

Uwagi

Element Image przechowuje wartość szerokości pikseli i wartość rozdzielczości poziomej (kropki na cal). Szerokość fizyczna mierzona w calach obrazu to szerokość pikseli podzielona przez rozdzielczość poziomą. Na przykład obraz o szerokości pikseli 216 i rozdzielczości poziomej 72 kropek na cal ma fizyczną szerokość 3 cali. Podobne uwagi dotyczą wysokości pikseli i wysokości fizycznej.

Ta metoda rysuje obraz przy użyciu rozmiaru fizycznego, więc obraz będzie miał poprawny rozmiar w calach niezależnie od rozdzielczości (kropki na cal) urządzenia wyświetlania. Załóżmy na przykład, że obraz ma szerokość pikseli 216 i rozdzielczość poziomą 72 kropek na cal. Jeśli wywołasz tę metodę, aby narysować ten obraz na urządzeniu o rozdzielczości 96 kropek na cal, szerokość pikseli renderowanego obrazu będzie (216/72)*96 = 288.

Zobacz też

Dotyczy

DrawImage(Image, PointF[])

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określony Image element w określonej lokalizacji i o określonym kształcie i rozmiarze.

public:
 void DrawImage(System::Drawing::Image ^ image, cli::array <System::Drawing::PointF> ^ destPoints);
public void DrawImage (System.Drawing.Image image, System.Drawing.PointF[] destPoints);
member this.DrawImage : System.Drawing.Image * System.Drawing.PointF[] -> unit
Public Sub DrawImage (image As Image, destPoints As PointF())

Parametry

image
Image

Image aby narysować.

destPoints
PointF[]

Tablica trzech PointF struktur, które definiują równoległyogram.

Wyjątki

image to null.

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ące akcje:

  • Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.

  • Tworzy punkty definiujące równoległy obraz, w którym ma być rysowanie obrazu.

  • Rysuje obraz na ekran.

Pozycja parallelogramu lokalizuje obraz na ekranie, a rozmiar oryginalnego obrazu oraz rozmiar i kształt równoległegoogramu określa skalowanie i ścinanie rysunkowego obrazu.

private:
   void DrawImageParaF( PaintEventArgs^ e )
   {
      // Create image.
      Image^ newImage = Image::FromFile( "SampImag.jpg" );

      // Create parallelogram for drawing image.
      PointF ulCorner = PointF(100.0F,100.0F);
      PointF urCorner = PointF(550.0F,100.0F);
      PointF llCorner = PointF(150.0F,250.0F);
      array<PointF>^ destPara = {ulCorner,urCorner,llCorner};

      // Draw image to screen.
      e->Graphics->DrawImage( newImage, destPara );
   }
private void DrawImageParaF(PaintEventArgs e)
{
             
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
             
    // Create parallelogram for drawing image.
    PointF ulCorner = new PointF(100.0F, 100.0F);
    PointF urCorner = new PointF(550.0F, 100.0F);
    PointF llCorner = new PointF(150.0F, 250.0F);
    PointF[] destPara = {ulCorner, urCorner, llCorner};
             
    // Draw image to screen.
    e.Graphics.DrawImage(newImage, destPara);
}
Private Sub DrawImageParaF(ByVal e As PaintEventArgs)

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create parallelogram for drawing image.
    Dim ulCorner As New PointF(100.0F, 100.0F)
    Dim urCorner As New PointF(550.0F, 100.0F)
    Dim llCorner As New PointF(150.0F, 250.0F)
    Dim destPara As PointF() = {ulCorner, urCorner, llCorner}

    ' Draw image to screen.
    e.Graphics.DrawImage(newImage, destPara)
End Sub

Uwagi

Parametr destPoints określa trzy punkty parallelogramu. Trzy PointF struktury reprezentują lewe górne, prawe górne i lewe dolne rogi równoległegoogramu. Czwarty punkt jest ekstrapolowany z pierwszych trzech do utworzenia równoległego.

Obraz reprezentowany przez image obiekt jest skalowany i szkalowany w celu dopasowania do kształtu równoległegoogramu określonego destPoints przez parametr .

Zobacz też

Dotyczy

DrawImage(Image, Rectangle)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje wartość określoną Image w określonej lokalizacji i o określonym rozmiarze.

public:
 void DrawImage(System::Drawing::Image ^ image, System::Drawing::Rectangle rect);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle rect);
member this.DrawImage : System.Drawing.Image * System.Drawing.Rectangle -> unit
Public Sub DrawImage (image As Image, rect As Rectangle)

Parametry

image
Image

Image aby narysować.

rect
Rectangle

Rectangle struktura określająca lokalizację i rozmiar rysunkowego obrazu.

Wyjątki

image to null.

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ące akcje:

  • Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.

  • Tworzy prostokąt, w którym ma być rysowanie obrazu.

  • Rysuje obraz na ekran.

Położenie prostokąta lokalizuje obraz na ekranie, a rozmiar oryginalnego obrazu oraz rozmiar prostokąta określa skalowanie rysunkowego obrazu.

private:
   void DrawImageRect( PaintEventArgs^ e )
   {
      // Create image.
      Image^ newImage = Image::FromFile( "SampImag.jpg" );

      // Create rectangle for displaying image.
      Rectangle destRect = Rectangle(100,100,450,150);

      // Draw image to screen.
      e->Graphics->DrawImage( newImage, destRect );
   }
private void DrawImageRect(PaintEventArgs e)
{
             
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
             
    // Create rectangle for displaying image.
    Rectangle destRect = new Rectangle(100, 100, 450, 150);
             
    // Draw image to screen.
    e.Graphics.DrawImage(newImage, destRect);
}
Private Sub DrawImageRect(ByVal e As PaintEventArgs)

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create rectangle for displaying image.
    Dim destRect As New Rectangle(100, 100, 450, 150)

    ' Draw image to screen.
    e.Graphics.DrawImage(newImage, destRect)
End Sub

Uwagi

Obraz reprezentowany przez image obiekt jest skalowany do wymiarów prostokąta rect .

Zobacz też

Dotyczy

DrawImage(Image, RectangleF)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje wartość określoną Image w określonej lokalizacji i o określonym rozmiarze.

public:
 void DrawImage(System::Drawing::Image ^ image, System::Drawing::RectangleF rect);
public void DrawImage (System.Drawing.Image image, System.Drawing.RectangleF rect);
member this.DrawImage : System.Drawing.Image * System.Drawing.RectangleF -> unit
Public Sub DrawImage (image As Image, rect As RectangleF)

Parametry

image
Image

Image aby narysować.

rect
RectangleF

RectangleF struktura określająca lokalizację i rozmiar rysunkowego obrazu.

Wyjątki

image to null.

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ące akcje:

  • Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.

  • Tworzy prostokąt, w którym ma być rysowanie obrazu.

  • Rysuje obraz na ekran.

Położenie prostokąta lokalizuje obraz na ekranie, a oryginalny rozmiar obrazu oraz rozmiar prostokąta określa skalowanie rysunkowego obrazu.

public:
   void DrawImageRectF( PaintEventArgs^ e )
   {
      // Create image.
      Image^ newImage = Image::FromFile( "SampImag.jpg" );

      // Create rectangle for displaying image.
      RectangleF rect = RectangleF(100.0F,100.0F,450.0F,150.0F);

      // Draw image to screen.
      e->Graphics->DrawImage( newImage, rect );
   }
public void DrawImageRectF(PaintEventArgs e)
{
             
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
             
    // Create rectangle for displaying image.
    RectangleF rect = new RectangleF(100.0F, 100.0F, 450.0F, 150.0F);
             
    // Draw image to screen.
    e.Graphics.DrawImage(newImage, rect);
}
Public Sub DrawImageRectF(ByVal e As PaintEventArgs)

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create rectangle for displaying image.
    Dim rect As New RectangleF(100.0F, 100.0F, 450.0F, 150.0F)

    ' Draw image to screen.
    e.Graphics.DrawImage(newImage, rect)
End Sub

Uwagi

Obraz reprezentowany przez image obiekt jest skalowany do wymiarów prostokąta rect .

Zobacz też

Dotyczy

DrawImage(Image, Int32, Int32, Rectangle, GraphicsUnit)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje część obrazu w określonej lokalizacji.

public:
 void DrawImage(System::Drawing::Image ^ image, int x, int y, System::Drawing::Rectangle srcRect, System::Drawing::GraphicsUnit srcUnit);
public void DrawImage (System.Drawing.Image image, int x, int y, System.Drawing.Rectangle srcRect, System.Drawing.GraphicsUnit srcUnit);
member this.DrawImage : System.Drawing.Image * int * int * System.Drawing.Rectangle * System.Drawing.GraphicsUnit -> unit
Public Sub DrawImage (image As Image, x As Integer, y As Integer, srcRect As Rectangle, srcUnit As GraphicsUnit)

Parametry

image
Image

Image aby narysować.

x
Int32

Współrzędna x lewego górnego rogu narysowanego obrazu.

y
Int32

Współrzędna y lewego górnego rogu narysowanego obrazu.

srcRect
Rectangle

Rectangle struktura określająca część image obiektu do rysowania.

srcUnit
GraphicsUnit

Element członkowski wyliczenia GraphicsUnit , który określa jednostki miary używane przez srcRect parametr .

Wyjątki

image to null.

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ące akcje:

  • Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.

  • Tworzy współrzędne, na których ma być rysowanie lewego górnego rogu obrazu.

  • Tworzy prostokąt źródłowy, z którego ma być wyodrębniony fragment obrazu.

  • Ustawia jednostkę miary prostokąta źródłowego na piksele.

  • Rysuje obraz na ekran.

Rozmiar prostokąta źródłowego określa, jaka część nieskalowanego oryginalnego obrazu jest rysowana na ekranie.

public:
   void DrawImage2IntRect( PaintEventArgs^ e )
   {
      // Create image.
      Image^ newImage = Image::FromFile( "SampImag.jpg" );

      // Create coordinates for upper-left corner of image.
      int x = 100;
      int y = 100;

      // Create rectangle for source image.
      Rectangle srcRect = Rectangle(50,50,150,150);
      GraphicsUnit units = GraphicsUnit::Pixel;

      // Draw image to screen.
      e->Graphics->DrawImage( newImage, x, y, srcRect, units );
   }
public void DrawImage2IntRect(PaintEventArgs e)
{
             
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
             
    // Create coordinates for upper-left corner of image.
    int x = 100;
    int y = 100;
             
    // Create rectangle for source image.
    Rectangle srcRect = new Rectangle(50, 50, 150, 150);
    GraphicsUnit units = GraphicsUnit.Pixel;
             
    // Draw image to screen.
    e.Graphics.DrawImage(newImage, x, y, srcRect, units);
}
Public Sub DrawImage2IntRect(ByVal e As PaintEventArgs)

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create coordinates for upper-left corner of image.
    Dim x As Integer = 100
    Dim y As Integer = 100

    ' Create rectangle for source image.
    Dim srcRect As New Rectangle(50, 50, 150, 150)
    Dim units As GraphicsUnit = GraphicsUnit.Pixel

    ' Draw image to screen.
    e.Graphics.DrawImage(newImage, x, y, srcRect, units)
End Sub

Uwagi

Element Image przechowuje wartość szerokości pikseli i wartość rozdzielczości poziomej (kropki na cal). Szerokość fizyczna mierzona w calach obrazu to szerokość pikseli podzielona przez rozdzielczość poziomą. Na przykład obraz o szerokości pikseli 360 i rozdzielczości poziomej 72 kropek na cal ma fizyczną szerokość 5 cali. Podobne uwagi dotyczą wysokości pikseli i wysokości fizycznej.

Ta metoda rysuje część obrazu przy użyciu jego rozmiaru fizycznego, więc część obrazu będzie miała prawidłowy rozmiar w calach niezależnie od rozdzielczości (kropek na cal) urządzenia wyświetlania. Załóżmy na przykład, że część obrazu ma szerokość pikseli 216 i rozdzielczość poziomą 72 kropek na cal. Jeśli wywołasz tę metodę, aby narysować tę część obrazu na urządzeniu o rozdzielczości 96 kropek na cal, szerokość pikseli renderowanego obrazu będzie wynosić (216/72)*96 = 288.

Zobacz też

Dotyczy

DrawImage(Image, Single, Single)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określony Imageobiekt przy użyciu oryginalnego rozmiaru fizycznego w określonej lokalizacji.

public:
 void DrawImage(System::Drawing::Image ^ image, float x, float y);
public void DrawImage (System.Drawing.Image image, float x, float y);
member this.DrawImage : System.Drawing.Image * single * single -> unit
Public Sub DrawImage (image As Image, x As Single, y As Single)

Parametry

image
Image

Image do rysowania.

x
Single

Współrzędna x lewego górnego rogu narysowanego obrazu.

y
Single

Współrzędna y lewego górnego rogu narysowanego obrazu.

Wyjątki

image to null.

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ące akcje:

  • Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.

  • Tworzy współrzędne punktu, w którym ma być rysowanie lewego górnego rogu obrazu.

  • Rysuje nieskalowany obraz na ekran.

public:
   void DrawImage2Float( PaintEventArgs^ e )
   {
      // Create image.
      Image^ newImage = Image::FromFile( "SampImag.jpg" );

      // Create coordinates for upper-left corner of image.
      float x = 100.0F;
      float y = 100.0F;

      // Draw image to screen.
      e->Graphics->DrawImage( newImage, x, y );
   }
public void DrawImage2Float(PaintEventArgs e)
{
             
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
             
    // Create coordinates for upper-left corner of image.
    float x = 100.0F;
    float y = 100.0F;
             
    // Draw image to screen.
    e.Graphics.DrawImage(newImage, x, y);
}
Public Sub DrawImage2Float(ByVal e As PaintEventArgs)

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create coordinates for upper-left corner of image.
    Dim x As Single = 100.0F
    Dim y As Single = 100.0F

    ' Draw image to screen.
    e.Graphics.DrawImage(newImage, x, y)
End Sub

Uwagi

Obiekt Image przechowuje wartość szerokości pikseli i wartość rozdzielczości poziomej (kropki na cal). Szerokość fizyczna mierzona w calach obrazu to szerokość pikseli podzielona przez rozdzielczość poziomą. Na przykład obraz o szerokości pikseli 216 i poziomej rozdzielczości 72 kropek na cal ma fizyczną szerokość 3 cali. Podobne uwagi dotyczą wysokości pikseli i wysokości fizycznej.

Ta metoda rysuje obraz przy użyciu jego rozmiaru fizycznego, więc obraz będzie miał prawidłowy rozmiar w calach niezależnie od rozdzielczości (kropek na cal) urządzenia wyświetlania. Załóżmy na przykład, że obraz ma szerokość pikseli 216 i rozdzielczość poziomą 72 kropek na cal. Jeśli wywołasz tę metodę, aby narysować ten obraz na urządzeniu o rozdzielczości 96 kropek na cal, szerokość pikseli renderowanego obrazu będzie wynosić (216/72)*96 = 288.

Zobacz też

Dotyczy

DrawImage(Image, Point[], Rectangle, GraphicsUnit)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

public:
 void DrawImage(System::Drawing::Image ^ image, cli::array <System::Drawing::Point> ^ destPoints, System::Drawing::Rectangle srcRect, System::Drawing::GraphicsUnit srcUnit);
public void DrawImage (System.Drawing.Image image, System.Drawing.Point[] destPoints, System.Drawing.Rectangle srcRect, System.Drawing.GraphicsUnit srcUnit);
member this.DrawImage : System.Drawing.Image * System.Drawing.Point[] * System.Drawing.Rectangle * System.Drawing.GraphicsUnit -> unit
Public Sub DrawImage (image As Image, destPoints As Point(), srcRect As Rectangle, srcUnit As GraphicsUnit)

Parametry

image
Image

Image do rysowania.

destPoints
Point[]

Tablica trzech Point struktur definiujących równoległyogram.

srcRect
Rectangle

Rectangle struktura określająca część image obiektu do rysowania.

srcUnit
GraphicsUnit

Element członkowski GraphicsUnit wyliczenia, który określa jednostki miary używane przez srcRect parametr .

Wyjątki

image to null.

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ące akcje:

  • Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.

  • Tworzy punkty definiujące równoległyogram, w którym ma być rysowanie obrazu.

  • Tworzy prostokąt, aby wybrać część obrazu do rysowania.

  • Ustawia jednostkę rysunku graficznego na piksel.

  • Rysuje obraz na ekran.

Położenie równoległegoogramu lokalizuje obraz na ekranie, a rozmiar prostokąta oraz rozmiar i kształt parallelogramu określa skalowanie i ścinanie rysunku.

private:
   void DrawImageParaRect( PaintEventArgs^ e )
   {

      // Create image.
      Image^ newImage = Image::FromFile( "SampImag.jpg" );

      // Create parallelogram for drawing image.
      Point ulCorner = Point(100,100);
      Point urCorner = Point(325,100);
      Point llCorner = Point(150,250);
      array<Point>^ destPara = {ulCorner,urCorner,llCorner};

      // Create rectangle for source image.
      Rectangle srcRect = Rectangle(50,50,150,150);
      GraphicsUnit units = GraphicsUnit::Pixel;

      // Draw image to screen.
      e->Graphics->DrawImage( newImage, destPara, srcRect, units );
   }
private void DrawImageParaRect(PaintEventArgs e)
{
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
             
    // Create parallelogram for drawing image.
    Point ulCorner = new Point(100, 100);
    Point urCorner = new Point(325, 100);
    Point llCorner = new Point(150, 250);
    Point[] destPara = {ulCorner, urCorner, llCorner};
             
    // Create rectangle for source image.
    Rectangle srcRect = new Rectangle(50, 50, 150, 150);
    GraphicsUnit units = GraphicsUnit.Pixel;
             
    // Draw image to screen.
    e.Graphics.DrawImage(newImage, destPara, srcRect, units);
}
Private Sub DrawImageParaRect(ByVal e As PaintEventArgs)

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create parallelogram for drawing image.
    Dim ulCorner As New Point(100, 100)
    Dim urCorner As New Point(325, 100)
    Dim llCorner As New Point(150, 250)
    Dim destPara As Point() = {ulCorner, urCorner, llCorner}

    ' Create rectangle for source image.
    Dim srcRect As New Rectangle(50, 50, 150, 150)
    Dim units As GraphicsUnit = GraphicsUnit.Pixel

    ' Draw image to screen.
    e.Graphics.DrawImage(newImage, destPara, srcRect, units)
End Sub

Uwagi

Parametr destPoints określa trzy punkty parallelogramu. Trzy Point struktury reprezentują lewy górny, prawy górny i lewy dolny róg równoległogramu. Czwarty punkt jest ekstrapolowany z pierwszych trzech do utworzenia równoległegoogramu.

Parametr srcRect określa prostokątną część image obiektu do rysowania. Ta część jest skalowana i sznana w celu dopasowania do równoległegoogramu określonego destPoints przez parametr .

Zobacz też

Dotyczy

DrawImage(Image, PointF[], RectangleF, GraphicsUnit)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

public:
 void DrawImage(System::Drawing::Image ^ image, cli::array <System::Drawing::PointF> ^ destPoints, System::Drawing::RectangleF srcRect, System::Drawing::GraphicsUnit srcUnit);
public void DrawImage (System.Drawing.Image image, System.Drawing.PointF[] destPoints, System.Drawing.RectangleF srcRect, System.Drawing.GraphicsUnit srcUnit);
member this.DrawImage : System.Drawing.Image * System.Drawing.PointF[] * System.Drawing.RectangleF * System.Drawing.GraphicsUnit -> unit
Public Sub DrawImage (image As Image, destPoints As PointF(), srcRect As RectangleF, srcUnit As GraphicsUnit)

Parametry

image
Image

Image do rysowania.

destPoints
PointF[]

Tablica trzech PointF struktur definiujących równoległyogram.

srcRect
RectangleF

RectangleF struktura określająca część image obiektu do rysowania.

srcUnit
GraphicsUnit

Element członkowski GraphicsUnit wyliczenia, który określa jednostki miary używane przez srcRect parametr .

Wyjątki

image to null.

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ące akcje:

  • Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.

  • Tworzy punkty definiujące docelowy równoległyogram, w którym ma być narysowy obraz.

  • Tworzy prostokąt źródłowy, z którego ma być wyodrębniony fragment obrazu.

  • Ustawia jednostkę miary prostokąta źródłowego na piksele.

  • Rysuje obraz na ekran.

Położenie docelowego równoległegoogramu lokalizuje obraz na ekranie, rozmiar prostokąta źródłowego oraz rozmiar i kształt docelowego równoległegoogramu określa skalowanie i ścinanie rysunku, a rozmiar prostokąta określa, jaka część oryginalnego obrazu jest rysowana na ekranie.

private:
   void DrawImageParaFRectF( PaintEventArgs^ e )
   {
      // Create image.
      Image^ newImage = Image::FromFile( "SampImag.jpg" );

      // Create parallelogram for drawing image.
      PointF ulCorner = PointF(100.0F,100.0F);
      PointF urCorner = PointF(550.0F,100.0F);
      PointF llCorner = PointF(150.0F,250.0F);
      array<PointF>^ destPara = {ulCorner,urCorner,llCorner};

      // Create rectangle for source image.
      RectangleF srcRect = RectangleF(50.0F,50.0F,150.0F,150.0F);
      GraphicsUnit units = GraphicsUnit::Pixel;

      // Draw image to screen.
      e->Graphics->DrawImage( newImage, destPara, srcRect, units );
   }
private void DrawImageParaFRectF(PaintEventArgs e)
{
             
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
             
    // Create parallelogram for drawing image.
    PointF ulCorner = new PointF(100.0F, 100.0F);
    PointF urCorner = new PointF(550.0F, 100.0F);
    PointF llCorner = new PointF(150.0F, 250.0F);
    PointF[] destPara = {ulCorner, urCorner, llCorner};
             
    // Create rectangle for source image.
    RectangleF srcRect = new RectangleF(50.0F, 50.0F, 150.0F, 150.0F);
    GraphicsUnit units = GraphicsUnit.Pixel;
             
    // Draw image to screen.
    e.Graphics.DrawImage(newImage, destPara, srcRect, units);
}
Private Sub DrawImageParaFRectF(ByVal e As PaintEventArgs)

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create parallelogram for drawing image.
    Dim ulCorner As New PointF(100.0F, 100.0F)
    Dim urCorner As New PointF(550.0F, 100.0F)
    Dim llCorner As New PointF(150.0F, 250.0F)
    Dim destPara As PointF() = {ulCorner, urCorner, llCorner}

    ' Create rectangle for source image.
    Dim srcRect As New RectangleF(50.0F, 50.0F, 150.0F, 150.0F)
    Dim units As GraphicsUnit = GraphicsUnit.Pixel

    ' Draw image to screen.
    e.Graphics.DrawImage(newImage, destPara, srcRect, units)
End Sub

Uwagi

Parametr destPoints określa trzy punkty parallelogramu. Trzy PointF struktury reprezentują lewy górny, prawy górny i lewy dolny róg równoległogramu. Czwarty punkt jest ekstrapolowany z pierwszych trzech do utworzenia równoległegoogramu.

Parametr srcRect określa prostokątną część image obiektu do rysowania. Ta część jest skalowana i sznana w celu dopasowania do równoległegoogramu określonego destPoints przez parametr .

Zobacz też

Dotyczy

DrawImage(Image, Rectangle, Rectangle, GraphicsUnit)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

public:
 void DrawImage(System::Drawing::Image ^ image, System::Drawing::Rectangle destRect, System::Drawing::Rectangle srcRect, System::Drawing::GraphicsUnit srcUnit);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, System.Drawing.Rectangle srcRect, System.Drawing.GraphicsUnit srcUnit);
member this.DrawImage : System.Drawing.Image * System.Drawing.Rectangle * System.Drawing.Rectangle * System.Drawing.GraphicsUnit -> unit
Public Sub DrawImage (image As Image, destRect As Rectangle, srcRect As Rectangle, srcUnit As GraphicsUnit)

Parametry

image
Image

Image do rysowania.

destRect
Rectangle

Rectangle struktura określająca lokalizację i rozmiar narysowanego obrazu. Obraz jest skalowany w celu dopasowania do prostokąta.

srcRect
Rectangle

Rectangle struktura określająca część image obiektu do rysowania.

srcUnit
GraphicsUnit

Element członkowski GraphicsUnit wyliczenia, który określa jednostki miary używane przez srcRect parametr .

Wyjątki

image to null.

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ące akcje:

  • Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.

  • Tworzy prostokąt docelowy, w którym ma być rysowanie obrazu.

  • Tworzy prostokąt źródłowy, z którego ma być wyodrębniony fragment obrazu.

  • Ustawia jednostkę miary prostokąta źródłowego na piksele.

  • Rysuje obraz na ekran.

Położenie prostokąta docelowego lokalizuje obraz na ekranie, rozmiary prostokątów źródłowych i docelowych określają skalowanie narysowanego obrazu, a rozmiar prostokąta źródłowego określa, jaka część oryginalnego obrazu jest rysowana na ekranie.

private:
   void DrawImageRectRect( PaintEventArgs^ e )
   {
      // Create image.
      Image^ newImage = Image::FromFile( "SampImag.jpg" );

      // Create rectangle for displaying image.
      Rectangle destRect = Rectangle(100,100,450,150);

      // Create rectangle for source image.
      Rectangle srcRect = Rectangle(50,50,150,150);
      GraphicsUnit units = GraphicsUnit::Pixel;

      // Draw image to screen.
      e->Graphics->DrawImage( newImage, destRect, srcRect, units );
   }
private void DrawImageRectRect(PaintEventArgs e)
{
             
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
             
    // Create rectangle for displaying image.
    Rectangle destRect = new Rectangle(100, 100, 450, 150);
             
    // Create rectangle for source image.
    Rectangle srcRect = new Rectangle(50, 50, 150, 150);
    GraphicsUnit units = GraphicsUnit.Pixel;
             
    // Draw image to screen.
    e.Graphics.DrawImage(newImage, destRect, srcRect, units);
}
Private Sub DrawImageRectRect(ByVal e As PaintEventArgs)

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create rectangle for displaying image.
    Dim destRect As New Rectangle(100, 100, 450, 150)

    ' Create rectangle for source image.
    Dim srcRect As New Rectangle(50, 50, 150, 150)
    Dim units As GraphicsUnit = GraphicsUnit.Pixel

    ' Draw image to screen.
    e.Graphics.DrawImage(newImage, destRect, srcRect, units)
End Sub

Uwagi

Parametr srcRect określa prostokątną część image obiektu do rysowania. Ta część jest skalowana w celu dopasowania do prostokąta określonego destRect przez parametr .

Zobacz też

Dotyczy

DrawImage(Image, RectangleF, RectangleF, GraphicsUnit)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.

public:
 void DrawImage(System::Drawing::Image ^ image, System::Drawing::RectangleF destRect, System::Drawing::RectangleF srcRect, System::Drawing::GraphicsUnit srcUnit);
public void DrawImage (System.Drawing.Image image, System.Drawing.RectangleF destRect, System.Drawing.RectangleF srcRect, System.Drawing.GraphicsUnit srcUnit);
member this.DrawImage : System.Drawing.Image * System.Drawing.RectangleF * System.Drawing.RectangleF * System.Drawing.GraphicsUnit -> unit
Public Sub DrawImage (image As Image, destRect As RectangleF, srcRect As RectangleF, srcUnit As GraphicsUnit)

Parametry

image
Image

Image do rysowania.

destRect
RectangleF

RectangleF struktura określająca lokalizację i rozmiar narysowanego obrazu. Obraz jest skalowany w celu dopasowania do prostokąta.

srcRect
RectangleF

RectangleF struktura określająca część image obiektu do rysowania.

srcUnit
GraphicsUnit

Element członkowski GraphicsUnit wyliczenia, który określa jednostki miary używane przez srcRect parametr .

Wyjątki

image to null.

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ące akcje:

  • Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.

  • Tworzy prostokąt docelowy, w którym ma być rysowanie obrazu.

  • Tworzy prostokąt źródłowy, z którego ma być wyodrębniony fragment obrazu.

  • Ustawia jednostkę miary prostokąta źródłowego na piksele.

  • Rysuje obraz na ekran.

Położenie prostokąta docelowego lokalizuje obraz na ekranie, rozmiary prostokątów źródłowych i docelowych określają skalowanie narysowanego obrazu, a rozmiar prostokąta źródłowego określa, jaka część oryginalnego obrazu jest rysowana na ekranie.

public:
   void DrawImageRectFRectF( PaintEventArgs^ e )
   {
      // Create image.
      Image^ newImage = Image::FromFile( "SampImag.jpg" );

      // Create rectangle for displaying image.
      RectangleF destRect = RectangleF(100.0F,100.0F,450.0F,150.0F);

      // Create rectangle for source image.
      RectangleF srcRect = RectangleF(50.0F,50.0F,150.0F,150.0F);
      GraphicsUnit units = GraphicsUnit::Pixel;

      // Draw image to screen.
      e->Graphics->DrawImage( newImage, destRect, srcRect, units );
   }
public void DrawImageRectFRectF(PaintEventArgs e)
{
             
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
             
    // Create rectangle for displaying image.
    RectangleF destRect = new RectangleF(100.0F, 100.0F, 450.0F, 150.0F);
             
    // Create rectangle for source image.
    RectangleF srcRect = new RectangleF(50.0F, 50.0F, 150.0F, 150.0F);
    GraphicsUnit units = GraphicsUnit.Pixel;
             
    // Draw image to screen.
    e.Graphics.DrawImage(newImage, destRect, srcRect, units);
}
Public Sub DrawImageRectFRectF(ByVal e As PaintEventArgs)

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create rectangle for displaying image.
    Dim destRect As New RectangleF(100.0F, 100.0F, 450.0F, 150.0F)

    ' Create rectangle for source image.
    Dim srcRect As New RectangleF(50.0F, 50.0F, 150.0F, 150.0F)
    Dim units As GraphicsUnit = GraphicsUnit.Pixel

    ' Draw image to screen.
    e.Graphics.DrawImage(newImage, destRect, srcRect, units)
End Sub

Uwagi

Parametr srcRect określa prostokątną część image obiektu do rysowania. Ta część jest skalowana w celu dopasowania do prostokąta określonego destRect przez parametr .

Zobacz też

Dotyczy

DrawImage(Image, Int32, Int32)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określony obraz przy użyciu oryginalnego rozmiaru fizycznego w lokalizacji określonej przez parę współrzędnych.

public:
 void DrawImage(System::Drawing::Image ^ image, int x, int y);
public void DrawImage (System.Drawing.Image image, int x, int y);
member this.DrawImage : System.Drawing.Image * int * int -> unit
Public Sub DrawImage (image As Image, x As Integer, y As Integer)

Parametry

image
Image

Image aby narysować.

x
Int32

Współrzędna x lewego górnego rogu narysowanego obrazu.

y
Int32

Współrzędna y lewego górnego rogu narysowanego obrazu.

Wyjątki

image to null.

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ące akcje:

  • Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu SampImag.jpg w folderze przykładu.

  • Tworzy współrzędne punktu, w którym ma być rysowanie lewego górnego rogu obrazu.

  • Rysuje nieskalowany obraz.

public:
   void DrawImage2Int( PaintEventArgs^ e )
   {
      // Create image.
      Image^ newImage = Image::FromFile( "SampImag.jpg" );

      // Create coordinates for upper-left corner of image.
      int x = 100;
      int y = 100;

      // Draw image to screen.
      e->Graphics->DrawImage( newImage, x, y );
   }
public void DrawImage2Int(PaintEventArgs e)
{
                
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
                
    // Create coordinates for upper-left corner of image.
    int x = 100;
    int y = 100;
                
    // Draw image to screen.
    e.Graphics.DrawImage(newImage, x, y);
}
Public Sub DrawImage2Int(ByVal e As PaintEventArgs)

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create coordinates for upper-left corner of image.
    Dim x As Integer = 100
    Dim y As Integer = 100

    ' Draw image to screen.
    e.Graphics.DrawImage(newImage, x, y)
End Sub

Uwagi

Element Image przechowuje wartość szerokości pikseli i wartość rozdzielczości poziomej (kropki na cal). Szerokość fizyczna mierzona w calach obrazu to szerokość pikseli podzielona przez rozdzielczość poziomą. Na przykład obraz o szerokości pikseli 216 i rozdzielczości poziomej 72 kropek na cal ma fizyczną szerokość 3 cali. Podobne uwagi dotyczą wysokości pikseli i wysokości fizycznej.

Metoda DrawImage rysuje obraz przy użyciu rozmiaru fizycznego, więc obraz będzie miał poprawny rozmiar w calach niezależnie od rozdzielczości (kropki na cal) urządzenia wyświetlania. Załóżmy na przykład, że obraz ma szerokość pikseli 216 i rozdzielczość poziomą 72 kropek na cal. Jeśli wywołasz polecenie DrawImage , aby narysować ten obraz na urządzeniu o rozdzielczości 96 kropek na cal, szerokość pikseli renderowanego obrazu będzie (216/72)*96 = 288.

Zobacz też

Dotyczy

DrawImage(Image, Point[], Rectangle, GraphicsUnit, ImageAttributes)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określoną część określonego Image obiektu w określonej lokalizacji.

public:
 void DrawImage(System::Drawing::Image ^ image, cli::array <System::Drawing::Point> ^ destPoints, System::Drawing::Rectangle srcRect, System::Drawing::GraphicsUnit srcUnit, System::Drawing::Imaging::ImageAttributes ^ imageAttr);
public void DrawImage (System.Drawing.Image image, System.Drawing.Point[] destPoints, System.Drawing.Rectangle srcRect, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes imageAttr);
public void DrawImage (System.Drawing.Image image, System.Drawing.Point[] destPoints, System.Drawing.Rectangle srcRect, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes? imageAttr);
member this.DrawImage : System.Drawing.Image * System.Drawing.Point[] * System.Drawing.Rectangle * System.Drawing.GraphicsUnit * System.Drawing.Imaging.ImageAttributes -> unit
Public Sub DrawImage (image As Image, destPoints As Point(), srcRect As Rectangle, srcUnit As GraphicsUnit, imageAttr As ImageAttributes)

Parametry

image
Image

Image aby narysować.

destPoints
Point[]

Tablica trzech Point struktur, które definiują równoległyogram.

srcRect
Rectangle

Rectangle struktura określająca część image obiektu do rysowania.

srcUnit
GraphicsUnit

Element członkowski wyliczenia GraphicsUnit , który określa jednostki miary używane przez srcRect parametr .

imageAttr
ImageAttributes

ImageAttributes określa ponowne kolorowanie i informacje gamma dla image obiektu.

Wyjątki

image to null.

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ące akcje:

  • Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.

  • Tworzy punkty definiujące równoległy obraz, w którym ma być rysowanie obrazu.

  • Tworzy prostokąt, aby wybrać część obrazu do narysowania.

  • Ustawia jednostkę rysunku grafiki na piksel.

  • Rysuje oryginalny obraz na ekran.

  • Tworzy dodatkowy równoległyogram, w którym ma być narysowany obraz.

  • Tworzy i ustawia atrybuty dostosowanego obrazu, aby mieć większą niż zwykle wartość gamma.

  • Rysuje dostosowany obraz do ekranu.

W przypadku oryginalnego, nieokreślonego równoległegoogramu pozycja lokalizuje obraz na ekranie, a rozmiar prostokąta oraz rozmiar i kształt równoległegoogramu określa skalowanie i ścinanie rysunkowego obrazu.

private:
   void DrawImageParaRectAttrib( PaintEventArgs^ e )
   {
      // Create image.
      Image^ newImage = Image::FromFile( "SampImag.jpg" );

      // Create parallelogram for drawing image.
      Point ulCorner1 = Point(100,100);
      Point urCorner1 = Point(325,100);
      Point llCorner1 = Point(150,250);
      array<Point>^ destPara1 = {ulCorner1,urCorner1,llCorner1};

      // Create rectangle for source image.
      Rectangle srcRect = Rectangle(50,50,150,150);
      GraphicsUnit units = GraphicsUnit::Pixel;

      // Draw original image to screen.
      e->Graphics->DrawImage( newImage, destPara1, srcRect, units );

      // Create parallelogram for drawing adjusted image.
      Point ulCorner2 = Point(325,100);
      Point urCorner2 = Point(550,100);
      Point llCorner2 = Point(375,250);
      array<Point>^ destPara2 = {ulCorner2,urCorner2,llCorner2};

      // Create image attributes and set large gamma.
      ImageAttributes^ imageAttr = gcnew ImageAttributes;
      imageAttr->SetGamma( 4.0F );

      // Draw adjusted image to screen.
      e->Graphics->DrawImage( newImage, destPara2, srcRect, units, imageAttr );
   }
private void DrawImageParaRectAttrib(PaintEventArgs e)
{
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
             
    // Create parallelogram for drawing image.
    Point ulCorner1 = new Point(100, 100);
    Point urCorner1 = new Point(325, 100);
    Point llCorner1 = new Point(150, 250);
    Point[] destPara1 = {ulCorner1, urCorner1, llCorner1};
             
    // Create rectangle for source image.
    Rectangle srcRect = new Rectangle(50, 50, 150, 150);
    GraphicsUnit units = GraphicsUnit.Pixel;
             
    // Draw original image to screen.
    e.Graphics.DrawImage(newImage, destPara1, srcRect, units);
             
    // Create parallelogram for drawing adjusted image.
    Point ulCorner2 = new Point(325, 100);
    Point urCorner2 = new Point(550, 100);
    Point llCorner2 = new Point(375, 250);
    Point[] destPara2 = {ulCorner2, urCorner2, llCorner2};
             
    // Create image attributes and set large gamma.
    ImageAttributes imageAttr = new ImageAttributes();
    imageAttr.SetGamma(4.0F);
             
    // Draw adjusted image to screen.
    e.Graphics.DrawImage(newImage, destPara2, srcRect, units, imageAttr);
}
Private Sub DrawImageParaRectAttrib(ByVal e As PaintEventArgs)

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create parallelogram for drawing image.
    Dim ulCorner1 As New Point(100, 100)
    Dim urCorner1 As New Point(325, 100)
    Dim llCorner1 As New Point(150, 250)
    Dim destPara1 As Point() = {ulCorner1, urCorner1, llCorner1}

    ' Create rectangle for source image.
    Dim srcRect As New Rectangle(50, 50, 150, 150)
    Dim units As GraphicsUnit = GraphicsUnit.Pixel

    ' Draw original image to screen.
    e.Graphics.DrawImage(newImage, destPara1, srcRect, units)

    ' Create parallelogram for drawing adjusted image.
    Dim ulCorner2 As New Point(325, 100)
    Dim urCorner2 As New Point(550, 100)
    Dim llCorner2 As New Point(375, 250)
    Dim destPara2 As Point() = {ulCorner2, urCorner2, llCorner2}

    ' Create image attributes and set large gamma.
    Dim imageAttr As New ImageAttributes
    imageAttr.SetGamma(4.0F)

    ' Draw adjusted image to screen.
    e.Graphics.DrawImage(newImage, destPara2, srcRect, units, _
    imageAttr)
End Sub

Uwagi

Parametr destPoints określa trzy punkty parallelogramu. Trzy Point struktury reprezentują lewe górne, prawe górne i lewe dolne rogi równoległegoogramu. Czwarty punkt jest ekstrapolowany z pierwszych trzech do utworzenia równoległego.

Parametr srcRect określa prostokątną częśćimage obiektu do rysowania. Ta część jest skalowana i sznana w celu dopasowania do równoległegoogramu określonego destPoints przez parametr .

Zobacz też

Dotyczy