Udostępnij za pośrednictwem


Graphics.DrawImage Metoda

Definicja

Rysuje określone 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ślonego Image w określonej lokalizacji i o określonym rozmiarze.

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

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

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

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

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

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

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

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

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

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

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

Rysuje określoną część określonego 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ślonego 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ślonego 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ślonego 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ślonego Image w określonej lokalizacji i o określonym rozmiarze.

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

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

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

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

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

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

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

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

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

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

DrawImage(Image, Point[])

Rysuje określoną Image w określonej lokalizacji i o określonym kształcie i rozmiarze.

DrawImage(Image, PointF)

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

DrawImage(Image, PointF[])

Rysuje określoną Image w określonej lokalizacji i o określonym kształcie i rozmiarze.

DrawImage(Image, Rectangle)

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

DrawImage(Image, RectangleF)

Rysuje określone 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 Image, używając oryginalnego rozmiaru fizycznego w określonej lokalizacji.

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

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

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

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

DrawImage(Image, Rectangle, Rectangle, GraphicsUnit)

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

DrawImage(Image, RectangleF, RectangleF, GraphicsUnit)

Rysuje określoną część określonego 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 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
Ź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 do losowania.

x
Single

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

y
Single

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

srcRect
RectangleF

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

srcUnit
GraphicsUnit

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

Wyjątki

image jest null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. 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 ekranie.

Rozmiar prostokąta źródłowego określa, która 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

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 poziomej rozdzielczości 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 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 poziomą rozdzielczość 72 kropek na cal. Jeśli wywołasz tę metodę, aby narysować tę część obrazu na urządzeniu, która ma rozdzielczość 96 kropek na cal, szerokość pikseli renderowanego obrazu będzie wynosić (216/72)*96 = 288.

Zobacz też

Dotyczy

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

Źródło:
Graphics.cs
Ź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
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określoną część określonego 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 do losowania.

destPoints
Point[]

Tablica trzech struktur PointF definiujących równoległość.

srcRect
Rectangle

Rectangle 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 parametr srcRect.

imageAttr
ImageAttributes

ImageAttributes, który określa ponowne kolorowanie i informacje gamma dla obiektu image.

callback
Graphics.DrawImageAbort

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

Wyjątki

image jest null.

Przykłady

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

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

  • 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 narysowania.

  • Ustawia jednostkę rysunku graficznego na piksel.

  • Rysuje oryginalny obraz na ekranie.

  • 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 skorygowany obraz na ekranie.

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

Ponieważ w tym przykładzie użyto przeciążenia, które nie przekazuje parametru callBackData, wywołanie zwrotne Graphics.DrawImageAbort zwraca true, co powoduje zakończenie metody DrawImage, 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 równoległości. Trzy struktury PointF 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ęść obiektu image do rysowania. Ta część jest skalowana i ścinana w celu dopasowania do równoległegoogramu określonego przez parametr destPoints.

To przeciążenie za pomocą parametru callback umożliwia zatrzymanie rysunku obrazu po uruchomieniu go zgodnie z kryteriami 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, PointF[], RectangleF, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort)

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

Rysuje określoną część określonego 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 do losowania.

destPoints
PointF[]

Tablica trzech struktur PointF definiujących równoległość.

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 parametr srcRect.

imageAttr
ImageAttributes

ImageAttributes, który określa ponowne kolorowanie i informacje gamma dla obiektu image.

callback
Graphics.DrawImageAbort

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

Wyjątki

image jest null.

Przykłady

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

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

  • 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 narysowania.

  • Ustawia jednostkę rysunku graficznego na piksel.

  • Rysuje oryginalny obraz na ekranie.

  • 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 skorygowany obraz na ekranie.

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

Ponieważ w tym przykładzie użyto przeciążenia, które nie przekazuje parametru callBackData, wywołanie zwrotne Graphics.DrawImageAbort zwraca true, co powoduje zakończenie metody DrawImage, 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 równoległości. Trzy struktury PointF 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ęść obiektu image do rysowania. Ta część jest skalowana i ścinana w celu dopasowania do równoległegoogramu określonego przez parametr destPoints.

To przeciążenie za pomocą parametru callback umożliwia zatrzymanie rysunku obrazu po uruchomieniu go zgodnie z kryteriami 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, Point[], Rectangle, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, Int32)

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

Rysuje określoną część określonego 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 do losowania.

destPoints
Point[]

Tablica trzech struktur PointF definiujących równoległość.

srcRect
Rectangle

Rectangle 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 parametr srcRect.

imageAttr
ImageAttributes

ImageAttributes, który określa ponowne kolorowanie i informacje gamma dla obiektu image.

callback
Graphics.DrawImageAbort

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

callbackData
Int32

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

Przykłady

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

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

  • 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 narysowania.

  • Ustawia jednostkę rysunku graficznego na piksel.

  • Rysuje oryginalny obraz na ekranie.

  • 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 skorygowany obraz na ekranie.

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

Ponieważ w tym przykładzie użyto przeciążenia, które przekazuje parametr callBackData, wywołanie zwrotne Graphics.DrawImageAbort zwraca false, co powoduje kontynuowanie metody DrawImage, a przykład rysuje skorygowany obraz do ekranu.

   // 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 równoległości. Trzy struktury PointF 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ęść obiektu image do rysowania. Ta część jest skalowana i ścinana w celu dopasowania do równoległegoogramu określonego przez parametr destPoints.

To przeciążenie za pomocą parametrów callback i callbackData umożliwia zatrzymanie rysowania obrazu po rozpoczęciu 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, PointF[], RectangleF, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, Int32)

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

Rysuje określoną część określonego 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 do losowania.

destPoints
PointF[]

Tablica trzech struktur PointF definiujących równoległość.

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 parametr srcRect.

imageAttr
ImageAttributes

ImageAttributes, który określa ponowne kolorowanie i informacje gamma dla obiektu image.

callback
Graphics.DrawImageAbort

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

callbackData
Int32

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

Wyjątki

image jest null.

Przykłady

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

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

  • 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 narysowania.

  • Ustawia jednostkę rysunku graficznego na piksel.

  • Rysuje oryginalny obraz na ekranie.

  • 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 skorygowany obraz na ekranie.

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

Ponieważ w tym przykładzie użyto przeciążenia, które przekazuje parametr callBackData, wywołanie zwrotne Graphics.DrawImageAbort zwraca false, co powoduje kontynuowanie metody DrawImage, a przykład rysuje skorygowany obraz do ekranu.

   // 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 równoległości. Trzy struktury PointF 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ęść obiektu image do rysowania. Ta część jest skalowana i ścinana w celu dopasowania do równoległegoogramu określonego przez parametr destPoints.

To przeciążenie za pomocą parametrów callback i callbackData umożliwia zatrzymanie rysowania obrazu po rozpoczęciu 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, Int32, Int32, Int32, Int32, GraphicsUnit)

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

Rysuje określoną część określonego 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 do losowania.

destRect
Rectangle

Rectangle struktura określająca lokalizację i rozmiar rysunku. 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 narysowania.

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 jest null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. 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 ekranie.

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, która 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 image do 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 przez parametr destRect.

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
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określoną część określonego 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 do losowania.

destRect
Rectangle

Rectangle struktura określająca lokalizację i rozmiar rysunku. 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 narysowania.

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, który określa ponowne kolorowanie i informacje gamma dla obiektu image.

Wyjątki

image jest null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. 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 ekranie.

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

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

  • Rysuje skorygowany obraz na ekranie.

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 rysunkowego obrazu, a rozmiar prostokąta źródłowego określa, która 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 image do 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 przez parametr destRect.

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
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określoną część określonego 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 do losowania.

destRect
Rectangle

Rectangle struktura określająca lokalizację i rozmiar rysunku. 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 narysowania.

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, który określa ponowne kolorowanie i informacje gamma dla obiektu image.

Wyjątki

image jest null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. 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 ekranie.

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

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

  • Rysuje skorygowany obraz na ekranie.

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 rysunkowego obrazu, a rozmiar prostokąta źródłowego określa, która 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 image do 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 przez parametr destRect.

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
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określoną część określonego 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 do losowania.

destRect
Rectangle

Rectangle struktura określająca lokalizację i rozmiar rysunku. 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 narysowania.

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, który określa ponowne kolorowanie i informacje gamma dla image.

callback
Graphics.DrawImageAbort

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

Wyjątki

image jest null.

Przykłady

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

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

  • 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 graficznego na piksel.

  • Rysuje oryginalny obraz na ekranie.

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

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

  • Rysuje skorygowany obraz na ekranie.

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ślają skalowanie rysunku.

Ponieważ w tym przykładzie użyto przeciążenia, które nie przekazuje parametru callBackData, wywołanie zwrotne Graphics.DrawImageAbort zwraca true, co powoduje zakończenie metody DrawImage, 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 image do 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 przez obiekt destRect.

To przeciążenie za pomocą parametru callback umożliwia zatrzymanie rysunku obrazu po uruchomieniu go zgodnie z kryteriami 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, ImageAttributes, Graphics+DrawImageAbort)

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

Rysuje określoną część określonego 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 do losowania.

destRect
Rectangle

Rectangle struktura określająca lokalizację i rozmiar rysunku. 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 narysowania.

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, który określa ponowne kolorowanie i informacje gamma dla obiektu image.

callback
Graphics.DrawImageAbort

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

Wyjątki

image jest null.

Przykłady

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

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

  • 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 graficznego na piksel.

  • Rysuje oryginalny obraz na ekranie.

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

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

  • Rysuje skorygowany obraz na ekranie.

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ślają skalowanie rysunku.

Ponieważ w tym przykładzie użyto przeciążenia, które nie przekazuje parametru callBackData, wywołanie zwrotne Graphics.DrawImageAbort zwraca true, co powoduje zakończenie metody DrawImage, 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 image do 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 przez parametr destRect.

To przeciążenie za pomocą parametru callback umożliwia zatrzymanie rysunku obrazu po uruchomieniu go zgodnie z kryteriami 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, Int32, Int32, Int32, Int32, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, IntPtr)

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

Rysuje określoną część określonego 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 do losowania.

destRect
Rectangle

Rectangle struktura określająca lokalizację i rozmiar rysunku. 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 narysowania.

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, który określa ponowne kolorowanie i informacje gamma dla obiektu image.

callback
Graphics.DrawImageAbort

Graphics.DrawImageAbort delegat, który określa metodę do wywołania podczas rysunku obrazu. Ta metoda jest wywoływana często, aby sprawdzić, czy zatrzymać wykonywanie metody DrawImage(Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, IntPtr) 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, czy zatrzymać wykonywanie metody DrawImage.

Wyjątki

image jest null.

Przykłady

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

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

  • 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 graficznego na piksel.

  • Rysuje oryginalny obraz na ekranie.

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

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

  • Rysuje skorygowany obraz na ekranie.

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ślają skalowanie rysunku.

Ponieważ w tym przykładzie użyto przeciążenia, które przekazuje parametr callBackData, wywołanie zwrotne Graphics.DrawImageAbort zwraca false, co powoduje kontynuowanie metody DrawImage, a przykład rysuje skorygowany obraz do ekranu.

   // 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 image do 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 przez parametr destRect.

To przeciążenie za pomocą parametrów callback i callbackData umożliwia zatrzymanie rysowania obrazu po rozpoczęciu 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, ImageAttributes, Graphics+DrawImageAbort, IntPtr)

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

Rysuje określoną część określonego 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 losowania.

destRect
Rectangle

Rectangle struktura określająca lokalizację i rozmiar rysunku. 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 narysowania.

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, który określa ponowne kolorowanie i informacje gamma dla obiektu image.

callback
Graphics.DrawImageAbort

Graphics.DrawImageAbort delegat, który określa metodę do wywołania podczas rysunku obrazu. Ta metoda jest wywoływana często, aby sprawdzić, czy zatrzymać wykonywanie metody DrawImage(Image, Rectangle, Single, Single, Single, Single, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, IntPtr) 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, czy zatrzymać wykonywanie metody DrawImage.

Wyjątki

image jest null.

Przykłady

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

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

  • 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 graficznego na piksel.

  • Rysuje oryginalny obraz na ekranie.

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

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

  • Rysuje skorygowany obraz na ekranie.

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ślają skalowanie rysunku.

Ponieważ w tym przykładzie użyto przeciążenia, które przekazuje parametr callBackData, wywołanie zwrotne Graphics.DrawImageAbort zwraca false, co powoduje kontynuowanie metody DrawImage, a przykład rysuje skorygowany obraz do ekranu.

   // 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, srcY, srcWidthi srcHeight określają prostokątną część obiektu image do 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 przez parametr destRect.

To przeciążenie za pomocą parametrów callback i callbackData umożliwia zatrzymanie rysowania obrazu po rozpoczęciu 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
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określoną część określonego 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 losowania.

destRect
Rectangle

Rectangle struktura określająca lokalizację i rozmiar rysunku. 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 narysowania.

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 jest null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. 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ć 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 ekranie.

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, która 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, srcY, srcWidthi srcHeight określają prostokątną część obiektu image do 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 przez parametr destRect.

Zobacz też

Dotyczy

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

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

Rysuje określone 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 losowania.

x
Int32

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

y
Int32

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

width
Int32

Szerokość narysowanego obrazu.

height
Int32

Wysokość narysowanego obrazu.

Wyjątki

image jest null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. 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ć rysowanie obrazu.

  • Rysuje obraz na ekranie.

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

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 parametry x, y, widthi height określa położenie i rozmiar rysunku.

Zobacz też

Dotyczy

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

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

Rysuje określone 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 losowania.

x
Single

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

y
Single

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

width
Single

Szerokość narysowanego obrazu.

height
Single

Wysokość narysowanego obrazu.

Wyjątki

image jest null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. 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ć rysowanie obrazu.

  • Rysuje obraz na ekranie.

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

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 parametry x, y, widthi height określa położenie i rozmiar rysunku.

Zobacz też

Dotyczy

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

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

Rysuje określoną część określonego 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 losowania.

destPoints
PointF[]

Tablica trzech struktur PointF definiujących równoległość.

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 parametr srcRect.

imageAttr
ImageAttributes

ImageAttributes, który określa ponowne kolorowanie i informacje gamma dla obiektu image.

Wyjątki

image jest null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. 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.

  • 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 ekranie.

  • 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 skorygowany obraz na ekranie.

W przypadku oryginalnego, niesprzyjającego 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 rysunku, a rozmiar prostokąta określa, która 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 równoległości. Trzy struktury PointF 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ęść obiektu image do rysowania. Ta część jest skalowana i ścinana w celu dopasowania do równoległegoogramu określonego przez parametr destPoints.

Zobacz też

Dotyczy

DrawImage(Image, Effect)

Źródło:
Graphics.cs
Ź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
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określony Image, 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 do losowania.

point
Point

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

Wyjątki

image jest null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. 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 do ekranu.

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

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 rozmiaru fizycznego, więc obraz będzie miał poprawny 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 poziomą rozdzielczość 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[])

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

Rysuje określoną Image 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 do losowania.

destPoints
Point[]

Tablica trzech struktur Point definiujących równoległość.

Wyjątki

image jest null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. 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.

  • Rysuje obraz na ekranie.

Położenie parallelogramu lokalizuje obraz na ekranie, a rozmiar oryginalnego obrazu oraz rozmiar i kształt parallelogramu określa skalowanie i ścinanie rysunku.

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 równoległości. Trzy struktury Point 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 parametr image jest skalowany i ścinany w celu dopasowania do kształtu równoległości określonego przez parametry destPoints.

Zobacz też

Dotyczy

DrawImage(Image, PointF)

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

Rysuje określony Image, 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 do losowania.

point
PointF

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

Wyjątki

image jest null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. 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 do ekranu.

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

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 rozmiaru fizycznego, więc obraz będzie miał poprawny 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 poziomą rozdzielczość 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, PointF[])

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

Rysuje określoną Image 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 do losowania.

destPoints
PointF[]

Tablica trzech struktur PointF definiujących równoległość.

Wyjątki

image jest null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. 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.

  • Rysuje obraz na ekranie.

Położenie parallelogramu lokalizuje obraz na ekranie, a rozmiar oryginalnego obrazu oraz rozmiar i kształt parallelogramu określa skalowanie i ścinanie rysunku.

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 równoległości. Trzy struktury PointF 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 obiekt image jest skalowany i ścinany w celu dopasowania do kształtu równoległości określonego przez parametr destPoints.

Zobacz też

Dotyczy

DrawImage(Image, Rectangle)

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

Rysuje określone 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 do losowania.

rect
Rectangle

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

Wyjątki

image jest null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. 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 ekranie.

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

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 obiekt image 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
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określone 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 do losowania.

rect
RectangleF

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

Wyjątki

image jest null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. 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 ekranie.

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

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 obiekt image 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
Ź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 do losowania.

x
Int32

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

y
Int32

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

srcRect
Rectangle

Rectangle 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 parametr srcRect.

Wyjątki

image jest null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. 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 ekranie.

Rozmiar prostokąta źródłowego określa, która 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

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 poziomej rozdzielczości 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 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 poziomą rozdzielczość 72 kropek na cal. Jeśli wywołasz tę metodę, aby narysować tę część obrazu na urządzeniu, która ma rozdzielczość 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
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określony Image, używając 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 losowania.

x
Single

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

y
Single

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

Wyjątki

image jest null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. 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 do ekranu.

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

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 rozmiaru fizycznego, więc obraz będzie miał poprawny 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 poziomą rozdzielczość 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
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Rysuje określoną część określonego 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 losowania.

destPoints
Point[]

Tablica trzech struktur Point definiujących równoległość.

srcRect
Rectangle

Rectangle 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 parametr srcRect.

Wyjątki

image jest null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. 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 narysowania.

  • Ustawia jednostkę rysunku graficznego na piksel.

  • Rysuje obraz na ekranie.

Położenie parallelogramu 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 równoległości. Trzy struktury Point 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ęść obiektu image do rysowania. Ta część jest skalowana i ścinana w celu dopasowania do równoległegoogramu określonego przez parametr destPoints.

Zobacz też

Dotyczy

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

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

Rysuje określoną część określonego 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 losowania.

destPoints
PointF[]

Tablica trzech struktur PointF definiujących równoległość.

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 parametr srcRect.

Wyjątki

image jest null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. 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.

  • 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 ekranie.

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, która 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 równoległości. Trzy struktury PointF 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ęść obiektu image do rysowania. Ta część jest skalowana i ścinana w celu dopasowania do równoległegoogramu określonego przez parametr destPoints.

Zobacz też

Dotyczy

DrawImage(Image, Rectangle, Rectangle, GraphicsUnit)

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

Rysuje określoną część określonego 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 losowania.

destRect
Rectangle

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

srcRect
Rectangle

Rectangle 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 parametr srcRect.

Wyjątki

image jest null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. 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 ekranie.

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, która 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ęść obiektu image do rysowania. Ta część jest skalowana w celu dopasowania do prostokąta określonego przez parametr destRect.

Zobacz też

Dotyczy

DrawImage(Image, RectangleF, RectangleF, GraphicsUnit)

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

Rysuje określoną część określonego 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 losowania.

destRect
RectangleF

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

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 parametr srcRect.

Wyjątki

image jest null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. 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 ekranie.

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, która 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ęść obiektu image do rysowania. Ta część jest skalowana w celu dopasowania do prostokąta określonego przez parametr destRect.

Zobacz też

Dotyczy

DrawImage(Image, Int32, Int32)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Ź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 do losowania.

x
Int32

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

y
Int32

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

Wyjątki

image jest null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. 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

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.

Metoda DrawImage 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 poziomą rozdzielczość 72 kropek na cal. Jeśli wywołasz DrawImage, 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, ImageAttributes)

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

Rysuje określoną część określonego Image 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 do losowania.

destPoints
Point[]

Tablica trzech struktur Point definiujących równoległość.

srcRect
Rectangle

Rectangle 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 parametr srcRect.

imageAttr
ImageAttributes

ImageAttributes, który określa ponowne kolorowanie i informacje gamma dla obiektu image.

Wyjątki

image jest null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. 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 narysowania.

  • Ustawia jednostkę rysunku graficznego na piksel.

  • Rysuje oryginalny obraz na ekranie.

  • 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 skorygowany obraz na ekranie.

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

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 równoległości. Trzy struktury Point 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ęść obiektuimage do rysowania. Ta część jest skalowana i ścinana w celu dopasowania do równoległegoogramu określonego przez parametr destPoints.

Zobacz też

Dotyczy