Ler em inglês

Partilhar via


Graphics.DrawImage Método

Definição

Desenha o Image especificado no local especificado e com o tamanho original.

Sobrecargas

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

Desenha uma parte de uma imagem em um local especificado.

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

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

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

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

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

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

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

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

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

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

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

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

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

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

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

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

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

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

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

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

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

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

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

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

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

Desenha o Image especificado no local especificado e com o tamanho especificado.

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

Desenha o Image especificado no local especificado e com o tamanho especificado.

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

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

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

Desenha o Imageespecificado, usando seu tamanho físico original, no local especificado.

DrawImage(Image, Point[])

Desenha o Image especificado no local especificado e com a forma e o tamanho especificados.

DrawImage(Image, PointF)

Desenha o Imageespecificado, usando seu tamanho físico original, no local especificado.

DrawImage(Image, PointF[])

Desenha o Image especificado no local especificado e com a forma e o tamanho especificados.

DrawImage(Image, Rectangle)

Desenha o Image especificado no local especificado e com o tamanho especificado.

DrawImage(Image, RectangleF)

Desenha o Image especificado no local especificado e com o tamanho especificado.

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

Desenha uma parte de uma imagem em um local especificado.

DrawImage(Image, Single, Single)

Desenha o Imageespecificado, usando seu tamanho físico original, no local especificado.

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

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

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

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

DrawImage(Image, Rectangle, Rectangle, GraphicsUnit)

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

DrawImage(Image, RectangleF, RectangleF, GraphicsUnit)

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

DrawImage(Image, Int32, Int32)

Desenha a imagem especificada, usando seu tamanho físico original, no local especificado por um par de coordenadas.

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

Desenha a parte especificada do Image especificado no local especificado.

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

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Desenha uma parte de uma imagem em um local especificado.

C#
public void DrawImage (System.Drawing.Image image, float x, float y, System.Drawing.RectangleF srcRect, System.Drawing.GraphicsUnit srcUnit);

Parâmetros

image
Image

Image desenhar.

x
Single

A coordenada x do canto superior esquerdo da imagem desenhada.

y
Single

A coordenada y do canto superior esquerdo da imagem desenhada.

srcRect
RectangleF

RectangleF estrutura que especifica a parte do Image a ser desenhada.

srcUnit
GraphicsUnit

Membro da enumeração GraphicsUnit que especifica as unidades de medida usadas pelo parâmetro srcRect.

Exceções

image é null.

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. O código executa as seguintes ações:

  • Cria uma imagem de um arquivo JPEG SampImag.jpg na pasta do exemplo.

  • Cria as coordenadas nas quais desenhar o canto superior esquerdo da imagem.

  • Cria um retângulo de origem do qual extrair uma parte da imagem.

  • Define a unidade de medida do retângulo de origem como pixels.

  • Desenha a imagem para a tela.

O tamanho do retângulo de origem determina qual parte da imagem original não dimensionada é desenhada para a tela.

C#
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);
}

Comentários

Um Image armazena um valor para largura de pixel e um valor para resolução horizontal (pontos por polegada). A largura física, medida em polegadas, de uma imagem é a largura do pixel dividida pela resolução horizontal. Por exemplo, uma imagem com uma largura de pixel de 360 e uma resolução horizontal de 72 pontos por polegada tem uma largura física de 5 polegadas. Comentários semelhantes se aplicam à altura do pixel e à altura física.

Esse método desenha uma parte de uma imagem usando seu tamanho físico, portanto, a parte da imagem terá seu tamanho correto em polegadas, independentemente da resolução (pontos por polegada) do dispositivo de exibição. Por exemplo, suponha que uma parte de imagem tenha uma largura de pixel de 216 e uma resolução horizontal de 72 pontos por polegada. Se você chamar esse método para desenhar essa parte de imagem em um dispositivo que tenha uma resolução de 96 pontos por polegada, a largura do pixel da parte da imagem renderizada será (216/72)*96 = 288.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

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

Origem:
Graphics.cs
Origem:
Graphics.cs
C#
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);

Parâmetros

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

Aplica-se a

.NET 9 e Windows Desktop 9
Produto Versões
.NET 9
Windows Desktop 9

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

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

C#
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);
C#
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);

Parâmetros

image
Image

Image desenhar.

destPoints
Point[]

Matriz de três estruturas PointF que definem um paralelismo.

srcRect
Rectangle

Rectangle estrutura que especifica a parte do objeto image a ser desenhado.

srcUnit
GraphicsUnit

Membro da enumeração GraphicsUnit que especifica as unidades de medida usadas pelo parâmetro srcRect.

imageAttr
ImageAttributes

ImageAttributes que especifica informações de recoloração e gama para o objeto image.

callback
Graphics.DrawImageAbort

Graphics.DrawImageAbort delegado que especifica um método a ser chamado durante o desenho da imagem. Esse método é chamado com frequência para verificar se a execução do método DrawImage(Image, Point[], Rectangle, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort) deve ser interrompida de acordo com critérios determinados pelo aplicativo.

Exceções

image é null.

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. O código primeiro define um método de retorno de chamada para o delegado de Graphics.DrawImageAbort; a definição é simplista e apenas testa para ver se o método DrawImage a chama com um parâmetro de callBackData nulo. O corpo principal do exemplo executa as seguintes ações:

  • Cria uma instância do método de retorno de chamada Graphics.DrawImageAbort:

  • Cria uma imagem de um arquivo JPEG SampImag.jpg na pasta do exemplo.

  • Cria pontos que definem um paralelismo no qual desenhar a imagem.

  • Cria um retângulo para selecionar a parte da imagem a ser desenhada.

  • Define a unidade de desenho gráfico como pixel.

  • Desenha a imagem original para a tela.

  • Cria um paralelismo adicional no qual desenhar uma imagem ajustada.

  • Cria e define os atributos da imagem ajustada para ter um valor gama maior que o normal.

  • Desenha a imagem ajustada para a tela.

Para o paralelismo original não ajustado, a posição localiza a imagem na tela e o tamanho do retângulo e o tamanho e a forma do paralelismo determinam o dimensionamento e o corte da imagem desenhada.

Como este exemplo usa uma sobrecarga que não passa um parâmetro callBackData, o retorno de chamada Graphics.DrawImageAbort retorna true, o que faz com que o método DrawImage termine e o código de tratamento de exceção incluído no exemplo imprime o texto da exceção em vez de desenhar a imagem.

C#

// 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));
    }
}

Comentários

O parâmetro destPoints especifica três pontos de um paralelismo. As três estruturas PointF representam os cantos superior esquerdo, superior direito e inferior esquerdo do paralelismo. O quarto ponto é extrapolado dos três primeiros para formar um parallelogram.

O parâmetro srcRect especifica uma parte retangular do objeto image a ser desenhado. Essa parte é dimensionada e desarmada para caber dentro do parallelogram especificado pelo parâmetro destPoints.

Essa sobrecarga com o parâmetro callback fornece os meios para interromper o desenho de uma imagem quando ela é iniciada de acordo com os critérios determinados pelo aplicativo. Por exemplo, um aplicativo pode começar a desenhar uma imagem grande e o usuário pode rolar a imagem para fora da tela, nesse caso, o aplicativo pode parar o desenho.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

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

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

C#
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);
C#
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);

Parâmetros

image
Image

Image desenhar.

destPoints
PointF[]

Matriz de três estruturas PointF que definem um paralelismo.

srcRect
RectangleF

RectangleF estrutura que especifica a parte do objeto image a ser desenhado.

srcUnit
GraphicsUnit

Membro da enumeração GraphicsUnit que especifica as unidades de medida usadas pelo parâmetro srcRect.

imageAttr
ImageAttributes

ImageAttributes que especifica informações de recoloração e gama para o objeto image.

callback
Graphics.DrawImageAbort

Graphics.DrawImageAbort delegado que especifica um método a ser chamado durante o desenho da imagem. Esse método é chamado com frequência para verificar se a execução do método DrawImage(Image, PointF[], RectangleF, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort) deve ser interrompida de acordo com critérios determinados pelo aplicativo.

Exceções

image é null.

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. O código primeiro define um método de retorno de chamada para o delegado de Graphics.DrawImageAbort; a definição é simplista e apenas testa para ver se o método DrawImage a chama com um parâmetro de callBackData nulo. O corpo principal do exemplo executa as seguintes ações:

  • Cria uma instância do método de retorno de chamada Graphics.DrawImageAbort.

  • Cria uma imagem de um arquivo JPEG SampImag.jpg na pasta do exemplo.

  • Cria pontos que definem um paralelismo no qual desenhar a imagem.

  • Cria um retângulo para selecionar a parte da imagem a ser desenhada.

  • Define a unidade de desenho gráfico como pixel.

  • Desenha a imagem original para a tela.

  • Cria um paralelismo adicional no qual desenhar uma imagem ajustada.

  • Cria e define os atributos da imagem ajustada para ter um valor gama maior que o normal.

  • Desenha a imagem ajustada para a tela.

Para o paralelismo original não ajustado, a posição localiza a imagem na tela e o tamanho do retângulo e o tamanho e a forma do paralelismo determinam o dimensionamento e o corte da imagem desenhada.

Como este exemplo usa uma sobrecarga que não passa um parâmetro callBackData, o retorno de chamada Graphics.DrawImageAbort retorna true, o que faz com que o método DrawImage termine e o código de tratamento de exceção incluído no exemplo imprime o texto da exceção em vez de desenhar a imagem.

C#

// 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));
    }
}

Comentários

O parâmetro destPoints especifica três pontos de um paralelismo. As três estruturas PointF representam os cantos superior esquerdo, superior direito e inferior esquerdo do paralelismo. O quarto ponto é extrapolado dos três primeiros para formar um parallelogram.

O parâmetro srcRect especifica uma parte retangular do objeto image a ser desenhado. Essa parte é dimensionada e desarmada para caber dentro do parallelogram especificado pelo parâmetro destPoints.

Essa sobrecarga com o parâmetro callback fornece os meios para interromper o desenho de uma imagem quando ela é iniciada de acordo com os critérios determinados pelo aplicativo. Por exemplo, um aplicativo pode começar a desenhar uma imagem grande e o usuário pode rolar a imagem para fora da tela, nesse caso, o aplicativo pode parar o desenho.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

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

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

C#
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);
C#
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);

Parâmetros

image
Image

Image desenhar.

destPoints
Point[]

Matriz de três estruturas PointF que definem um paralelismo.

srcRect
Rectangle

Rectangle estrutura que especifica a parte do objeto image a ser desenhado.

srcUnit
GraphicsUnit

Membro da enumeração GraphicsUnit que especifica as unidades de medida usadas pelo parâmetro srcRect.

imageAttr
ImageAttributes

ImageAttributes que especifica informações de recoloração e gama para o objeto image.

callback
Graphics.DrawImageAbort

Graphics.DrawImageAbort delegado que especifica um método a ser chamado durante o desenho da imagem. Esse método é chamado com frequência para verificar se a execução do método DrawImage(Image, Point[], Rectangle, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, Int32) deve ser interrompida de acordo com critérios determinados pelo aplicativo.

callbackData
Int32

Valor que especifica dados adicionais para o delegado Graphics.DrawImageAbort usar ao verificar se deve interromper a execução do método DrawImage(Image, Point[], Rectangle, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, Int32).

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. O código primeiro define um método de retorno de chamada para o delegado de Graphics.DrawImageAbort; a definição é simplista e apenas testa para ver se o método DrawImage a chama com um parâmetro de callBackData nulo. O corpo principal do exemplo executa as seguintes ações:

  • Cria uma instância do método de retorno de chamada Graphics.DrawImageAbort.

  • Cria uma imagem de um arquivo JPEG SampImag.jpg na pasta do exemplo.

  • Cria pontos que definem um paralelismo no qual desenhar a imagem.

  • Cria um retângulo para selecionar a parte da imagem a ser desenhada.

  • Define a unidade de desenho gráfico como pixel.

  • Desenha a imagem original para a tela.

  • Cria um paralelismo adicional no qual desenhar uma imagem ajustada.

  • Cria e define os atributos da imagem ajustada para ter um valor gama maior que o normal.

  • Desenha a imagem ajustada para a tela.

Para o paralelismo original não ajustado, a posição localiza a imagem na tela e o tamanho do retângulo e o tamanho e a forma do paralelismo determinam o dimensionamento e o corte da imagem desenhada.

Como este exemplo usa uma sobrecarga que passa um parâmetro callBackData, o retorno de chamada Graphics.DrawImageAbort retorna false, o que faz com que o método DrawImage continue e o exemplo desenha a imagem ajustada para a tela.

C#

// 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));
    }
}

Comentários

O parâmetro destPoints especifica três pontos de um paralelismo. As três estruturas PointF representam os cantos superior esquerdo, superior direito e inferior esquerdo do paralelismo. O quarto ponto é extrapolado dos três primeiros para formar um parallelogram.

O parâmetro srcRect especifica uma parte retangular do objeto image a ser desenhado. Essa parte é dimensionada e desarmada para caber dentro do parallelogram especificado pelo parâmetro destPoints.

Essa sobrecarga com os parâmetros callback e callbackData fornece os meios para interromper o desenho de uma imagem quando ela é iniciada de acordo com critérios e dados determinados pelo aplicativo. Por exemplo, um aplicativo pode começar a desenhar uma imagem grande e o usuário pode rolar a imagem para fora da tela, nesse caso, o aplicativo pode parar o desenho.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

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

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

C#
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);
C#
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);

Parâmetros

image
Image

Image desenhar.

destPoints
PointF[]

Matriz de três estruturas PointF que definem um paralelismo.

srcRect
RectangleF

RectangleF estrutura que especifica a parte do objeto image a ser desenhado.

srcUnit
GraphicsUnit

Membro da enumeração GraphicsUnit que especifica as unidades de medida usadas pelo parâmetro srcRect.

imageAttr
ImageAttributes

ImageAttributes que especifica informações de recoloração e gama para o objeto image.

callback
Graphics.DrawImageAbort

Graphics.DrawImageAbort delegado que especifica um método a ser chamado durante o desenho da imagem. Esse método é chamado com frequência para verificar se a execução do método DrawImage(Image, PointF[], RectangleF, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, Int32) deve ser interrompida de acordo com critérios determinados pelo aplicativo.

callbackData
Int32

Valor que especifica dados adicionais para o delegado Graphics.DrawImageAbort usar ao verificar se deve interromper a execução do método DrawImage(Image, PointF[], RectangleF, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, Int32).

Exceções

image é null.

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos PaPaint. O código primeiro define um método de retorno de chamada para o delegado de Graphics.DrawImageAbort; a definição é simplista e apenas testa para ver se o método DrawImage a chama com um parâmetro de callBackData nulo. O corpo principal do exemplo executa as seguintes ações:

  • Cria uma instância do método de retorno de chamada Graphics.DrawImageAbort.

  • Cria uma imagem de um arquivo JPEG SampImag.jpg na pasta do exemplo.

  • Cria pontos que definem um paralelismo no qual desenhar a imagem.

  • Cria um retângulo para selecionar a parte da imagem a ser desenhada.

  • Define a unidade de desenho gráfico como pixel.

  • Desenha a imagem original para a tela.

  • Cria um paralelismo adicional no qual desenhar uma imagem ajustada.

  • Cria e define os atributos da imagem ajustada para ter um valor gama maior que o normal.

  • Desenha a imagem ajustada para a tela.

Para o paralelismo original não ajustado, a posição localiza a imagem na tela e o tamanho do retângulo e o tamanho e a forma do paralelismo determinam o dimensionamento e o corte da imagem desenhada.

Como este exemplo usa uma sobrecarga que passa um parâmetro callBackData, o retorno de chamada Graphics.DrawImageAbort retorna false, o que faz com que o método DrawImage continue e o exemplo desenha a imagem ajustada para a tela.

C#

// 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));
    }
}

Comentários

O parâmetro destPoints especifica três pontos de um paralelismo. As três estruturas PointF representam os cantos superior esquerdo, superior direito e inferior esquerdo do paralelismo. O quarto ponto é extrapolado dos três primeiros para formar um parallelogram.

O parâmetro srcRect especifica uma parte retangular do objeto image a ser desenhado. Essa parte é dimensionada e desarmada para caber dentro do parallelogram especificado pelo parâmetro destPoints.

Essa sobrecarga com os parâmetros callback e callbackData fornece os meios para interromper o desenho de uma imagem quando ela é iniciada de acordo com critérios e dados determinados pelo aplicativo. Por exemplo, um aplicativo pode começar a desenhar uma imagem grande e o usuário pode rolar a imagem para fora da tela, nesse caso, o aplicativo pode parar o desenho.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

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

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

C#
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, int srcX, int srcY, int srcWidth, int srcHeight, System.Drawing.GraphicsUnit srcUnit);

Parâmetros

image
Image

Image desenhar.

destRect
Rectangle

Rectangle estrutura que especifica o local e o tamanho da imagem desenhada. A imagem é dimensionada para ajustar o retângulo.

srcX
Int32

A coordenada x do canto superior esquerdo da parte da imagem de origem a ser desenhada.

srcY
Int32

A coordenada y do canto superior esquerdo da parte da imagem de origem a ser desenhada.

srcWidth
Int32

Largura da parte da imagem de origem a ser desenhada.

srcHeight
Int32

Altura da parte da imagem de origem a ser desenhada.

srcUnit
GraphicsUnit

Membro da enumeração GraphicsUnit que especifica as unidades de medida usadas para determinar o retângulo de origem.

Exceções

image é null.

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. O código executa as seguintes ações:

  • Cria uma imagem de um arquivo JPEG SampImag.jpg na pasta do exemplo.

  • Cria um retângulo de destino no qual desenhar a imagem.

  • Cria as coordenadas de um retângulo de origem do qual extrair uma parte da imagem.

  • Define a unidade de medida do retângulo de origem como pixels.

  • Desenha a imagem para a tela.

A posição do retângulo de destino localiza a imagem na tela e os tamanhos dos retângulos de origem e destino determinam o dimensionamento da imagem desenhada e o tamanho do retângulo de origem determina qual parte da imagem original é desenhada para a tela.

C#
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);
}

Comentários

Os parâmetros srcX, srcY, srcWidthe srcHeight especificam uma parte retangular do objeto image a ser desenhado. O retângulo é relativo ao canto superior esquerdo da imagem de origem. Essa parte é dimensionada para caber dentro do retângulo especificado pelo parâmetro destRect.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

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

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

C#
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);
C#
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);

Parâmetros

image
Image

Image desenhar.

destRect
Rectangle

Rectangle estrutura que especifica o local e o tamanho da imagem desenhada. A imagem é dimensionada para ajustar o retângulo.

srcX
Int32

A coordenada x do canto superior esquerdo da parte da imagem de origem a ser desenhada.

srcY
Int32

A coordenada y do canto superior esquerdo da parte da imagem de origem a ser desenhada.

srcWidth
Int32

Largura da parte da imagem de origem a ser desenhada.

srcHeight
Int32

Altura da parte da imagem de origem a ser desenhada.

srcUnit
GraphicsUnit

Membro da enumeração GraphicsUnit que especifica as unidades de medida usadas para determinar o retângulo de origem.

imageAttr
ImageAttributes

ImageAttributes que especifica informações de recoloração e gama para o objeto image.

Exceções

image é null.

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. O código executa as seguintes ações:

  • Cria uma imagem de um arquivo JPEG SampImag.jpg na pasta do exemplo.

  • Cria um retângulo de destino no qual desenhar a imagem.

  • Cria as coordenadas de um retângulo de origem do qual extrair uma parte da imagem.

  • Define a unidade de medida do retângulo de origem como pixels.

  • Desenha a imagem original para a tela.

  • Cria um retângulo adicional no qual desenhar uma imagem ajustada.

  • Cria e define os atributos da imagem ajustada para ter um valor gama maior que o normal.

  • Desenha a imagem ajustada para a tela.

Para o retângulo de destino original não ajustado, a posição localiza a imagem na tela e os tamanhos dos retângulos de origem e destino determinam o dimensionamento da imagem desenhada e o tamanho do retângulo de origem determina qual parte da imagem original é desenhada para a tela.

C#
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);
}

Comentários

Os parâmetros srcX, srcY, srcWidthe srcHeight especificam uma parte retangular do objeto image a ser desenhado. O retângulo é relativo ao canto superior esquerdo da imagem de origem. Essa parte é dimensionada para caber dentro do retângulo especificado pelo parâmetro destRect.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

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

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

C#
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);
C#
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);

Parâmetros

image
Image

Image desenhar.

destRect
Rectangle

Rectangle estrutura que especifica o local e o tamanho da imagem desenhada. A imagem é dimensionada para ajustar o retângulo.

srcX
Single

A coordenada x do canto superior esquerdo da parte da imagem de origem a ser desenhada.

srcY
Single

A coordenada y do canto superior esquerdo da parte da imagem de origem a ser desenhada.

srcWidth
Single

Largura da parte da imagem de origem a ser desenhada.

srcHeight
Single

Altura da parte da imagem de origem a ser desenhada.

srcUnit
GraphicsUnit

Membro da enumeração GraphicsUnit que especifica as unidades de medida usadas para determinar o retângulo de origem.

imageAttrs
ImageAttributes

ImageAttributes que especifica informações de recoloração e gama para o objeto image.

Exceções

image é null.

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. O código executa as seguintes ações:

  • Cria uma imagem de um arquivo JPEG SampImag.jpg na pasta do exemplo.

  • Cria um retângulo de destino no qual desenhar a imagem.

  • Cria as coordenadas de um retângulo de origem do qual extrair uma parte da imagem.

  • Define a unidade de medida do retângulo de origem como pixels.

  • Desenha a imagem original para a tela.

  • Cria um retângulo adicional no qual desenhar uma imagem ajustada.

  • Cria e define os atributos da imagem ajustada para ter um valor gama maior que o normal.

  • Desenha a imagem ajustada para a tela.

Para o retângulo de destino original não ajustado, a posição localiza a imagem na tela e os tamanhos dos retângulos de origem e destino determinam o dimensionamento da imagem desenhada e o tamanho do retângulo de origem determina qual parte da imagem original é desenhada para a tela.

C#
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);
}

Comentários

Os parâmetros srcX, srcY, srcWidthe srcHeight especificam uma parte retangular do objeto image a ser desenhado. O retângulo é relativo ao canto superior esquerdo da imagem de origem. Essa parte é dimensionada para caber dentro do retângulo especificado pelo parâmetro destRect.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

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

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

C#
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);
C#
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);

Parâmetros

image
Image

Image desenhar.

destRect
Rectangle

Rectangle estrutura que especifica o local e o tamanho da imagem desenhada. A imagem é dimensionada para ajustar o retângulo.

srcX
Int32

A coordenada x do canto superior esquerdo da parte da imagem de origem a ser desenhada.

srcY
Int32

A coordenada y do canto superior esquerdo da parte da imagem de origem a ser desenhada.

srcWidth
Int32

Largura da parte da imagem de origem a ser desenhada.

srcHeight
Int32

Altura da parte da imagem de origem a ser desenhada.

srcUnit
GraphicsUnit

Membro da enumeração GraphicsUnit que especifica as unidades de medida usadas para determinar o retângulo de origem.

imageAttr
ImageAttributes

ImageAttributes que especifica informações de recoloração e gama para image.

callback
Graphics.DrawImageAbort

Graphics.DrawImageAbort delegado que especifica um método a ser chamado durante o desenho da imagem. Esse método é chamado com frequência para verificar se a execução do método DrawImage(Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort) deve ser interrompida de acordo com critérios determinados pelo aplicativo.

Exceções

image é null.

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. O código primeiro define um método de retorno de chamada para o delegado de Graphics.DrawImageAbort; a definição é simplista e apenas testa para ver se o método DrawImage a chama com um parâmetro de callBackData nulo. O corpo principal do exemplo executa as seguintes ações:

  • Cria uma instância do método de retorno de chamada Graphics.DrawImageAbort.

  • Cria uma imagem de um arquivo JPEG SampImag.jpg na pasta do exemplo.

  • Cria pontos que definem um retângulo de destino no qual desenhar a imagem.

  • Cria um retângulo de origem para selecionar a parte da imagem a ser desenhada.

  • Define a unidade de desenho gráfico como pixel.

  • Desenha a imagem original para a tela.

  • Cria um retângulo de destino adicional no qual desenhar uma imagem ajustada.

  • Cria e define os atributos da imagem ajustada para ter um valor gama maior que o normal.

  • Desenha a imagem ajustada para a tela.

Para o retângulo de destino original não ajustado, a posição localiza a imagem na tela e o tamanho do retângulo de origem e o tamanho e a forma do retângulo de destino determinam o dimensionamento da imagem desenhada.

Como este exemplo usa uma sobrecarga que não passa um parâmetro callBackData, o retorno de chamada Graphics.DrawImageAbort retorna true, o que faz com que o método DrawImage termine e o código de tratamento de exceção incluído no exemplo imprime o texto da exceção em vez de desenhar a imagem.

C#

// 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));
    }
}

Comentários

Os parâmetros srcX, srcY, srcWidthe srcHeight especificam uma parte retangular do objeto image a ser desenhado. O retângulo é relativo ao canto superior esquerdo da imagem de origem. Essa parte é dimensionada para caber dentro do retângulo especificado pelo objeto destRect.

Essa sobrecarga com o parâmetro callback fornece os meios para interromper o desenho de uma imagem quando ela é iniciada de acordo com os critérios determinados pelo aplicativo. Por exemplo, um aplicativo pode começar a desenhar uma imagem grande e o usuário pode rolar a imagem para fora da tela, nesse caso, o aplicativo pode parar o desenho.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

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

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

C#
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);
C#
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);

Parâmetros

image
Image

Image desenhar.

destRect
Rectangle

Rectangle estrutura que especifica o local e o tamanho da imagem desenhada. A imagem é dimensionada para ajustar o retângulo.

srcX
Single

A coordenada x do canto superior esquerdo da parte da imagem de origem a ser desenhada.

srcY
Single

A coordenada y do canto superior esquerdo da parte da imagem de origem a ser desenhada.

srcWidth
Single

Largura da parte da imagem de origem a ser desenhada.

srcHeight
Single

Altura da parte da imagem de origem a ser desenhada.

srcUnit
GraphicsUnit

Membro da enumeração GraphicsUnit que especifica as unidades de medida usadas para determinar o retângulo de origem.

imageAttrs
ImageAttributes

ImageAttributes que especifica informações de recoloração e gama para o objeto image.

callback
Graphics.DrawImageAbort

Graphics.DrawImageAbort delegado que especifica um método a ser chamado durante o desenho da imagem. Esse método é chamado com frequência para verificar se a execução do método DrawImage(Image, Rectangle, Single, Single, Single, Single, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort) deve ser interrompida de acordo com critérios determinados pelo aplicativo.

Exceções

image é null.

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. O código primeiro define um método de retorno de chamada para o delegado de Graphics.DrawImageAbort; a definição é simplista e apenas testa para ver se o método DrawImage a chama com um parâmetro de callBackData nulo. O corpo principal do exemplo executa as seguintes ações:

  • Cria uma instância do método de retorno de chamada Graphics.DrawImageAbort.

  • Cria uma imagem de um arquivo JPEG SampImag.jpg na pasta do exemplo.

  • Cria pontos que definem um retângulo de destino no qual desenhar a imagem.

  • Cria um retângulo de origem para selecionar a parte da imagem a ser desenhada.

  • Define a unidade de desenho gráfico como pixel.

  • Desenha a imagem original para a tela.

  • Cria um retângulo de destino adicional no qual desenhar uma imagem ajustada.

  • Cria e define os atributos da imagem ajustada para ter um valor gama maior que o normal.

  • Desenha a imagem ajustada para a tela.

Para o retângulo de destino original não ajustado, a posição localiza a imagem na tela e o tamanho do retângulo de origem e o tamanho e a forma do retângulo de destino determinam o dimensionamento da imagem desenhada.

Como este exemplo usa uma sobrecarga que não passa um parâmetro callBackData, o retorno de chamada Graphics.DrawImageAbort retorna true, o que faz com que o método DrawImage termine e o código de tratamento de exceção incluído no exemplo imprime o texto da exceção em vez de desenhar a imagem.

C#

// 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));
    }
}

Comentários

Os parâmetros srcX, srcY, srcWidthe srcHeight especificam uma parte retangular do objeto image a ser desenhado. O retângulo é relativo ao canto superior esquerdo da imagem de origem. Essa parte é dimensionada para caber dentro do retângulo especificado pelo parâmetro destRect.

Essa sobrecarga com o parâmetro callback fornece os meios para interromper o desenho de uma imagem quando ela é iniciada de acordo com os critérios determinados pelo aplicativo. Por exemplo, um aplicativo pode começar a desenhar uma imagem grande e o usuário pode rolar a imagem para fora da tela, nesse caso, o aplicativo pode parar o desenho.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

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

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

C#
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);
C#
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);

Parâmetros

image
Image

Image desenhar.

destRect
Rectangle

Rectangle estrutura que especifica o local e o tamanho da imagem desenhada. A imagem é dimensionada para ajustar o retângulo.

srcX
Int32

A coordenada x do canto superior esquerdo da parte da imagem de origem a ser desenhada.

srcY
Int32

A coordenada y do canto superior esquerdo da parte da imagem de origem a ser desenhada.

srcWidth
Int32

Largura da parte da imagem de origem a ser desenhada.

srcHeight
Int32

Altura da parte da imagem de origem a ser desenhada.

srcUnit
GraphicsUnit

Membro da enumeração GraphicsUnit que especifica as unidades de medida usadas para determinar o retângulo de origem.

imageAttrs
ImageAttributes

ImageAttributes que especifica informações de recoloração e gama para o objeto image.

callback
Graphics.DrawImageAbort

Graphics.DrawImageAbort delegado que especifica um método a ser chamado durante o desenho da imagem. Esse método é chamado com frequência para verificar se a execução do método DrawImage(Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, IntPtr) deve ser interrompida de acordo com critérios determinados pelo aplicativo.

callbackData
IntPtr

Valor que especifica dados adicionais para o delegado Graphics.DrawImageAbort usar ao verificar se deve interromper a execução do método DrawImage.

Exceções

image é null.

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. O código primeiro define um método de retorno de chamada para o delegado de Graphics.DrawImageAbort; a definição é simplista e apenas testa para ver se o método DrawImage a chama com um parâmetro de callBackData nulo. O corpo principal do exemplo executa as seguintes ações:

  • Cria uma instância do método de retorno de chamada Graphics.DrawImageAbort.

  • Cria uma imagem de um arquivo JPEG SampImag.jpg na pasta do exemplo.

  • Cria pontos que definem um retângulo de destino no qual desenhar a imagem.

  • Cria um retângulo de origem para selecionar a parte da imagem a ser desenhada.

  • Define a unidade de desenho gráfico como pixel.

  • Desenha a imagem original para a tela.

  • Cria um retângulo de destino adicional no qual desenhar uma imagem ajustada.

  • Cria e define os atributos da imagem ajustada para ter um valor gama maior que o normal.

  • Desenha a imagem ajustada para a tela.

Para o retângulo de destino original não ajustado, a posição localiza a imagem na tela e o tamanho do retângulo de origem e o tamanho e a forma do retângulo de destino determinam o dimensionamento da imagem desenhada.

Como este exemplo usa uma sobrecarga que passa um parâmetro callBackData, o retorno de chamada Graphics.DrawImageAbort retorna false, o que faz com que o método DrawImage continue e o exemplo desenha a imagem ajustada para a tela.

C#

// 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));
    }
}

Comentários

Os parâmetros srcX, srcY, srcWidthe srcHeight especificam uma parte retangular do objeto image a ser desenhado. O retângulo é relativo ao canto superior esquerdo da imagem de origem. Essa parte é dimensionada para caber dentro do retângulo especificado pelo parâmetro destRect.

Essa sobrecarga com os parâmetros callback e callbackData fornece os meios para interromper o desenho de uma imagem quando ela é iniciada de acordo com critérios e dados determinados pelo aplicativo. Por exemplo, um aplicativo pode começar a desenhar uma imagem grande e o usuário pode rolar a imagem para fora da tela, nesse caso, o aplicativo pode parar o desenho.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

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

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

C#
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);
C#
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);

Parâmetros

image
Image

Image desenhar.

destRect
Rectangle

Rectangle estrutura que especifica o local e o tamanho da imagem desenhada. A imagem é dimensionada para ajustar o retângulo.

srcX
Single

A coordenada x do canto superior esquerdo da parte da imagem de origem a ser desenhada.

srcY
Single

A coordenada y do canto superior esquerdo da parte da imagem de origem a ser desenhada.

srcWidth
Single

Largura da parte da imagem de origem a ser desenhada.

srcHeight
Single

Altura da parte da imagem de origem a ser desenhada.

srcUnit
GraphicsUnit

Membro da enumeração GraphicsUnit que especifica as unidades de medida usadas para determinar o retângulo de origem.

imageAttrs
ImageAttributes

ImageAttributes que especifica informações de recoloração e gama para o objeto image.

callback
Graphics.DrawImageAbort

Graphics.DrawImageAbort delegado que especifica um método a ser chamado durante o desenho da imagem. Esse método é chamado com frequência para verificar se a execução do método DrawImage(Image, Rectangle, Single, Single, Single, Single, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, IntPtr) deve ser interrompida de acordo com critérios determinados pelo aplicativo.

callbackData
IntPtr

Valor que especifica dados adicionais para o delegado Graphics.DrawImageAbort usar ao verificar se deve interromper a execução do método DrawImage.

Exceções

image é null.

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. O código primeiro define um método de retorno de chamada para o delegado de Graphics.DrawImageAbort; a definição é simplista e apenas testa para ver se o método DrawImage a chama com um parâmetro de callBackData nulo. O corpo principal do exemplo executa as seguintes ações:

  • Cria uma instância do método de retorno de chamada Graphics.DrawImageAbort.

  • Cria uma imagem de um arquivo JPEG SampImag.jpg na pasta do exemplo.

  • Cria pontos que definem um retângulo de destino no qual desenhar a imagem.

  • Cria um retângulo de origem para selecionar a parte da imagem a ser desenhada.

  • Define a unidade de desenho gráfico como pixel.

  • Desenha a imagem original para a tela.

  • Cria um retângulo de destino adicional no qual desenhar uma imagem ajustada.

  • Cria e define os atributos da imagem ajustada para ter um valor gama maior que o normal.

  • Desenha a imagem ajustada para a tela.

Para o retângulo de destino original não ajustado, a posição localiza a imagem na tela e o tamanho do retângulo de origem e o tamanho e a forma do retângulo de destino determinam o dimensionamento da imagem desenhada.

Como este exemplo usa uma sobrecarga que passa um parâmetro callBackData, o retorno de chamada Graphics.DrawImageAbort retorna false, o que faz com que o método DrawImage continue e o exemplo desenha a imagem ajustada para a tela.

C#

// 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));
    }
}

Comentários

Os parâmetros srcX, srcY, srcWidthe srcHeight especificam uma parte retangular do objeto image a ser desenhado. O retângulo é relativo ao canto superior esquerdo da imagem de origem. Essa parte é dimensionada para caber dentro do retângulo especificado pelo parâmetro destRect.

Essa sobrecarga com os parâmetros callback e callbackData fornece os meios para interromper o desenho de uma imagem quando ela é iniciada de acordo com critérios e dados determinados pelo aplicativo. Por exemplo, um aplicativo pode começar a desenhar uma imagem grande e o usuário pode rolar a imagem para fora da tela, nesse caso, o aplicativo pode parar o desenho.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

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

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

C#
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, float srcX, float srcY, float srcWidth, float srcHeight, System.Drawing.GraphicsUnit srcUnit);

Parâmetros

image
Image

Image desenhar.

destRect
Rectangle

Rectangle estrutura que especifica o local e o tamanho da imagem desenhada. A imagem é dimensionada para ajustar o retângulo.

srcX
Single

A coordenada x do canto superior esquerdo da parte da imagem de origem a ser desenhada.

srcY
Single

A coordenada y do canto superior esquerdo da parte da imagem de origem a ser desenhada.

srcWidth
Single

Largura da parte da imagem de origem a ser desenhada.

srcHeight
Single

Altura da parte da imagem de origem a ser desenhada.

srcUnit
GraphicsUnit

Membro da enumeração GraphicsUnit que especifica as unidades de medida usadas para determinar o retângulo de origem.

Exceções

image é null.

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. O código executa as seguintes ações:

  • Cria uma imagem de um arquivo JPEG SampImag.jpg na pasta do exemplo.

  • Cria as coordenadas de um retângulo de destino no qual desenhar a imagem.

  • Cria um retângulo de origem do qual extrair uma parte da imagem.

  • Define a unidade de medida do retângulo de origem como pixels.

  • Desenha a imagem para a tela.

A posição do retângulo de destino localiza a imagem na tela, os tamanhos dos retângulos de origem e destino determinam o dimensionamento da imagem desenhada e o tamanho do retângulo de origem determina qual parte da imagem original é desenhada para a tela.

C#
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);
}

Comentários

Os parâmetros srcX, srcY, srcWidthe srcHeight especificam uma parte retangular do objeto image a ser desenhado. O retângulo é relativo ao canto superior esquerdo da imagem de origem. Essa parte é dimensionada para caber dentro do retângulo especificado pelo parâmetro destRect.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

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

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Desenha o Image especificado no local especificado e com o tamanho especificado.

C#
public void DrawImage (System.Drawing.Image image, int x, int y, int width, int height);

Parâmetros

image
Image

Image desenhar.

x
Int32

A coordenada x do canto superior esquerdo da imagem desenhada.

y
Int32

A coordenada y do canto superior esquerdo da imagem desenhada.

width
Int32

Largura da imagem desenhada.

height
Int32

Altura da imagem desenhada.

Exceções

image é null.

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. O código executa as seguintes ações:

  • Cria uma imagem de um arquivo JPEG SampImag.jpg na pasta do exemplo.

  • Cria a posição e o tamanho de um retângulo no qual desenhar a imagem.

  • Desenha a imagem para a tela.

A posição do retângulo localiza a imagem na tela e o tamanho da imagem original e o tamanho do retângulo determina o dimensionamento da imagem desenhada.

C#
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);
}

Comentários

O retângulo definido pelos parâmetros x, y, widthe height determina a posição e o tamanho da imagem desenhada.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

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

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Desenha o Image especificado no local especificado e com o tamanho especificado.

C#
public void DrawImage (System.Drawing.Image image, float x, float y, float width, float height);

Parâmetros

image
Image

Image desenhar.

x
Single

A coordenada x do canto superior esquerdo da imagem desenhada.

y
Single

A coordenada y do canto superior esquerdo da imagem desenhada.

width
Single

Largura da imagem desenhada.

height
Single

Altura da imagem desenhada.

Exceções

image é null.

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. O código executa as seguintes ações:

  • Cria uma imagem de um arquivo JPEG SampImag.jpg na pasta do exemplo.

  • Cria a posição e o tamanho de um retângulo no qual desenhar a imagem.

  • Desenha a imagem para a tela.

A posição do retângulo localiza a imagem na tela e o tamanho da imagem original e o tamanho do retângulo determina o dimensionamento da imagem desenhada.

C#
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);
}

Comentários

O retângulo definido pelos parâmetros x, y, widthe height determina a posição e o tamanho da imagem desenhada.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

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

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

C#
public void DrawImage (System.Drawing.Image image, System.Drawing.PointF[] destPoints, System.Drawing.RectangleF srcRect, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes? imageAttr);
C#
public void DrawImage (System.Drawing.Image image, System.Drawing.PointF[] destPoints, System.Drawing.RectangleF srcRect, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes imageAttr);

Parâmetros

image
Image

Image desenhar.

destPoints
PointF[]

Matriz de três estruturas PointF que definem um paralelismo.

srcRect
RectangleF

RectangleF estrutura que especifica a parte do objeto image a ser desenhado.

srcUnit
GraphicsUnit

Membro da enumeração GraphicsUnit que especifica as unidades de medida usadas pelo parâmetro srcRect.

imageAttr
ImageAttributes

ImageAttributes que especifica informações de recoloração e gama para o objeto image.

Exceções

image é null.

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. O código executa as seguintes ações:

  • Cria uma imagem de um arquivo JPEG SampImag.jpg na pasta do exemplo.

  • Cria pontos que definem um paralelismo de destino no qual desenhar a imagem.

  • Cria um retângulo de origem do qual extrair uma parte da imagem.

  • Define a unidade de medida do retângulo de origem como pixels.

  • Desenha a imagem original para a tela.

  • Cria um paralelismo adicional no qual desenhar uma imagem ajustada.

  • Cria e define os atributos da imagem ajustada para ter um valor gama maior que o normal.

  • Desenha a imagem ajustada para a tela.

Para o paralelismo de destino original não ajustado, a posição localiza a imagem na tela, o tamanho do retângulo de origem e o tamanho e a forma do paralelismo de destino determinam o dimensionamento e o corte da imagem desenhada e o tamanho do retângulo determina qual parte da imagem original é desenhada para a tela.

C#
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);
}

Comentários

O parâmetro destPoints especifica três pontos de um paralelismo. As três estruturas PointF representam os cantos superior esquerdo, superior direito e inferior esquerdo do paralelismo. O quarto ponto é extrapolado dos três primeiros para formar um parallelogram.

O parâmetro srcRect especifica uma parte retangular do objeto image a ser desenhado. Essa parte é dimensionada e desarmada para caber dentro do parallelogram especificado pelo parâmetro destPoints.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

DrawImage(Image, Effect)

Origem:
Graphics.cs
Origem:
Graphics.cs
C#
public void DrawImage (System.Drawing.Image image, System.Drawing.Imaging.Effects.Effect effect);

Parâmetros

image
Image
effect
Effect

Aplica-se a

.NET 9 e Windows Desktop 9
Produto Versões
.NET 9
Windows Desktop 9

DrawImage(Image, Point)

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Desenha o Imageespecificado, usando seu tamanho físico original, no local especificado.

C#
public void DrawImage (System.Drawing.Image image, System.Drawing.Point point);

Parâmetros

image
Image

Image desenhar.

point
Point

Point estrutura que representa o local do canto superior esquerdo da imagem desenhada.

Exceções

image é null.

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. O código executa as seguintes ações:

  • Cria uma imagem de um arquivo JPEG SampImag.jpg na pasta do exemplo.

  • Cria um ponto no qual desenhar o canto superior esquerdo da imagem.

  • Desenha a imagem não dimensionada para a tela.

C#
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);
}

Comentários

Um Image armazena um valor para largura de pixel e um valor para resolução horizontal (pontos por polegada). A largura física, medida em polegadas, de uma imagem é a largura do pixel dividida pela resolução horizontal. Por exemplo, uma imagem com uma largura de pixel de 216 e uma resolução horizontal de 72 pontos por polegada tem uma largura física de 3 polegadas. Comentários semelhantes se aplicam à altura do pixel e à altura física.

Esse método desenha uma imagem usando seu tamanho físico, portanto, a imagem terá seu tamanho correto em polegadas, independentemente da resolução (pontos por polegada) do dispositivo de exibição. Por exemplo, suponha que uma imagem tenha uma largura de pixel de 216 e uma resolução horizontal de 72 pontos por polegada. Se você chamar esse método para desenhar essa imagem em um dispositivo que tenha uma resolução de 96 pontos por polegada, a largura de pixel da imagem renderizada será (216/72)*96 = 288.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

DrawImage(Image, Point[])

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Desenha o Image especificado no local especificado e com a forma e o tamanho especificados.

C#
public void DrawImage (System.Drawing.Image image, System.Drawing.Point[] destPoints);

Parâmetros

image
Image

Image desenhar.

destPoints
Point[]

Matriz de três estruturas Point que definem um paralelismo.

Exceções

image é null.

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. O código executa as seguintes ações:

  • Cria uma imagem de um arquivo JPEG SampImag.jpg na pasta do exemplo.

  • Cria pontos que definem um paralelismo no qual desenhar a imagem.

  • Desenha a imagem para a tela.

A posição do paralelismo localiza a imagem na tela e o tamanho da imagem original e o tamanho e a forma do paralelismo determinam o dimensionamento e a desarmagem da imagem desenhada.

C#
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);
}

Comentários

O parâmetro destPoints especifica três pontos de um paralelismo. As três estruturas Point representam os cantos superior esquerdo, superior direito e inferior esquerdo do paralelismo. O quarto ponto é extrapolado dos três primeiros para formar um parallelogram.

A imagem representada pelo parâmetro image é dimensionada e desarmada para se ajustar à forma do parallelogram especificada pelos parâmetros de destPoints.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

DrawImage(Image, PointF)

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Desenha o Imageespecificado, usando seu tamanho físico original, no local especificado.

C#
public void DrawImage (System.Drawing.Image image, System.Drawing.PointF point);

Parâmetros

image
Image

Image desenhar.

point
PointF

PointF estrutura que representa o canto superior esquerdo da imagem desenhada.

Exceções

image é null.

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. O código executa as seguintes ações:

  • Cria uma imagem de um arquivo JPEG SampImag.jpg na pasta do exemplo.

  • Cria um ponto no qual desenhar o canto superior esquerdo da imagem.

  • Desenha a imagem não dimensionada para a tela.

C#
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);
}

Comentários

Um Image armazena um valor para largura de pixel e um valor para resolução horizontal (pontos por polegada). A largura física, medida em polegadas, de uma imagem é a largura do pixel dividida pela resolução horizontal. Por exemplo, uma imagem com uma largura de pixel de 216 e uma resolução horizontal de 72 pontos por polegada tem uma largura física de 3 polegadas. Comentários semelhantes se aplicam à altura do pixel e à altura física.

Esse método desenha uma imagem usando seu tamanho físico, portanto, a imagem terá seu tamanho correto em polegadas, independentemente da resolução (pontos por polegada) do dispositivo de exibição. Por exemplo, suponha que uma imagem tenha uma largura de pixel de 216 e uma resolução horizontal de 72 pontos por polegada. Se você chamar esse método para desenhar essa imagem em um dispositivo que tenha uma resolução de 96 pontos por polegada, a largura de pixel da imagem renderizada será (216/72)*96 = 288.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

DrawImage(Image, PointF[])

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Desenha o Image especificado no local especificado e com a forma e o tamanho especificados.

C#
public void DrawImage (System.Drawing.Image image, System.Drawing.PointF[] destPoints);

Parâmetros

image
Image

Image desenhar.

destPoints
PointF[]

Matriz de três estruturas PointF que definem um paralelismo.

Exceções

image é null.

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. O código executa as seguintes ações:

  • Cria uma imagem de um arquivo JPEG SampImag.jpg na pasta do exemplo.

  • Cria pontos que definem um paralelismo no qual desenhar a imagem.

  • Desenha a imagem para a tela.

A posição do paralelismo localiza a imagem na tela e o tamanho da imagem original e o tamanho e a forma do paralelismo determinam o dimensionamento e a desarmagem da imagem desenhada.

C#
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);
}

Comentários

O parâmetro destPoints especifica três pontos de um paralelismo. As três estruturas PointF representam os cantos superior esquerdo, superior direito e inferior esquerdo do paralelismo. O quarto ponto é extrapolado dos três primeiros para formar um parallelogram.

A imagem representada pelo objeto image é dimensionada e desarmada para se ajustar à forma do parallelogram especificada pelo parâmetro destPoints.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

DrawImage(Image, Rectangle)

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Desenha o Image especificado no local especificado e com o tamanho especificado.

C#
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle rect);

Parâmetros

image
Image

Image desenhar.

rect
Rectangle

Rectangle estrutura que especifica o local e o tamanho da imagem desenhada.

Exceções

image é null.

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. O código executa as seguintes ações:

  • Cria uma imagem de um arquivo JPEG SampImag.jpg na pasta do exemplo.

  • Cria um retângulo no qual desenhar a imagem.

  • Desenha a imagem para a tela.

A posição do retângulo localiza a imagem na tela e o tamanho da imagem original e o tamanho do retângulo determina o dimensionamento da imagem desenhada.

C#
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);
}

Comentários

A imagem representada pelo objeto image é dimensionada para as dimensões do retângulo rect.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

DrawImage(Image, RectangleF)

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Desenha o Image especificado no local especificado e com o tamanho especificado.

C#
public void DrawImage (System.Drawing.Image image, System.Drawing.RectangleF rect);

Parâmetros

image
Image

Image desenhar.

rect
RectangleF

RectangleF estrutura que especifica o local e o tamanho da imagem desenhada.

Exceções

image é null.

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. O código executa as seguintes ações:

  • Cria uma imagem de um arquivo JPEG SampImag.jpg na pasta do exemplo.

  • Cria um retângulo no qual desenhar a imagem.

  • Desenha a imagem para a tela.

A posição do retângulo localiza a imagem na tela e o tamanho original da imagem e o tamanho do retângulo determinam o dimensionamento da imagem desenhada.

C#
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);
}

Comentários

A imagem representada pelo objeto image é dimensionada para as dimensões do retângulo rect.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

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

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Desenha uma parte de uma imagem em um local especificado.

C#
public void DrawImage (System.Drawing.Image image, int x, int y, System.Drawing.Rectangle srcRect, System.Drawing.GraphicsUnit srcUnit);

Parâmetros

image
Image

Image desenhar.

x
Int32

A coordenada x do canto superior esquerdo da imagem desenhada.

y
Int32

A coordenada y do canto superior esquerdo da imagem desenhada.

srcRect
Rectangle

Rectangle estrutura que especifica a parte do objeto image a ser desenhado.

srcUnit
GraphicsUnit

Membro da enumeração GraphicsUnit que especifica as unidades de medida usadas pelo parâmetro srcRect.

Exceções

image é null.

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. O código executa as seguintes ações:

  • Cria uma imagem de um arquivo JPEG SampImag.jpg na pasta do exemplo.

  • Cria as coordenadas nas quais desenhar o canto superior esquerdo da imagem.

  • Cria um retângulo de origem do qual extrair uma parte da imagem.

  • Define a unidade de medida do retângulo de origem como pixels.

  • Desenha a imagem para a tela.

O tamanho do retângulo de origem determina qual parte da imagem original não dimensionada é desenhada para a tela.

C#
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);
}

Comentários

Um Image armazena um valor para largura de pixel e um valor para resolução horizontal (pontos por polegada). A largura física, medida em polegadas, de uma imagem é a largura do pixel dividida pela resolução horizontal. Por exemplo, uma imagem com uma largura de pixel de 360 e uma resolução horizontal de 72 pontos por polegada tem uma largura física de 5 polegadas. Comentários semelhantes se aplicam à altura do pixel e à altura física.

Esse método desenha uma parte de uma imagem usando seu tamanho físico, portanto, a parte da imagem terá seu tamanho correto em polegadas, independentemente da resolução (pontos por polegada) do dispositivo de exibição. Por exemplo, suponha que uma parte de imagem tenha uma largura de pixel de 216 e uma resolução horizontal de 72 pontos por polegada. Se você chamar esse método para desenhar essa parte de imagem em um dispositivo que tenha uma resolução de 96 pontos por polegada, a largura do pixel da parte da imagem renderizada será (216/72)*96 = 288.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

DrawImage(Image, Single, Single)

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Desenha o Imageespecificado, usando seu tamanho físico original, no local especificado.

C#
public void DrawImage (System.Drawing.Image image, float x, float y);

Parâmetros

image
Image

Image desenhar.

x
Single

A coordenada x do canto superior esquerdo da imagem desenhada.

y
Single

A coordenada y do canto superior esquerdo da imagem desenhada.

Exceções

image é null.

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. O código executa as seguintes ações:

  • Cria uma imagem de um arquivo JPEG SampImag.jpg na pasta do exemplo.

  • Cria as coordenadas de um ponto no qual desenhar o canto superior esquerdo da imagem.

  • Desenha a imagem não dimensionada para a tela.

C#
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);
}

Comentários

Um Image armazena um valor para largura de pixel e um valor para resolução horizontal (pontos por polegada). A largura física, medida em polegadas, de uma imagem é a largura do pixel dividida pela resolução horizontal. Por exemplo, uma imagem com uma largura de pixel de 216 e uma resolução horizontal de 72 pontos por polegada tem uma largura física de 3 polegadas. Comentários semelhantes se aplicam à altura do pixel e à altura física.

Esse método desenha uma imagem usando seu tamanho físico, portanto, a imagem terá seu tamanho correto em polegadas, independentemente da resolução (pontos por polegada) do dispositivo de exibição. Por exemplo, suponha que uma imagem tenha uma largura de pixel de 216 e uma resolução horizontal de 72 pontos por polegada. Se você chamar esse método para desenhar essa imagem em um dispositivo que tenha uma resolução de 96 pontos por polegada, a largura de pixel da imagem renderizada será (216/72)*96 = 288.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

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

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

C#
public void DrawImage (System.Drawing.Image image, System.Drawing.Point[] destPoints, System.Drawing.Rectangle srcRect, System.Drawing.GraphicsUnit srcUnit);

Parâmetros

image
Image

Image desenhar.

destPoints
Point[]

Matriz de três estruturas Point que definem um paralelismo.

srcRect
Rectangle

Rectangle estrutura que especifica a parte do objeto image a ser desenhado.

srcUnit
GraphicsUnit

Membro da enumeração GraphicsUnit que especifica as unidades de medida usadas pelo parâmetro srcRect.

Exceções

image é null.

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. O código executa as seguintes ações:

  • Cria uma imagem de um arquivo JPEG SampImag.jpg na pasta do exemplo.

  • Cria pontos que definem um paralelismo no qual desenhar a imagem.

  • Cria um retângulo para selecionar a parte da imagem a ser desenhada.

  • Define a unidade de desenho gráfico como pixel.

  • Desenha a imagem para a tela.

A posição do paralelismo localiza a imagem na tela e o tamanho do retângulo e o tamanho e a forma do paralelismo determinam o dimensionamento e o corte da imagem desenhada.

C#
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);
}

Comentários

O parâmetro destPoints especifica três pontos de um paralelismo. As três estruturas Point representam os cantos superior esquerdo, superior direito e inferior esquerdo do paralelismo. O quarto ponto é extrapolado dos três primeiros para formar um parallelogram.

O parâmetro srcRect especifica uma parte retangular do objeto image a ser desenhado. Essa parte é dimensionada e desarmada para caber dentro do parallelogram especificado pelo parâmetro destPoints.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

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

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

C#
public void DrawImage (System.Drawing.Image image, System.Drawing.PointF[] destPoints, System.Drawing.RectangleF srcRect, System.Drawing.GraphicsUnit srcUnit);

Parâmetros

image
Image

Image desenhar.

destPoints
PointF[]

Matriz de três estruturas PointF que definem um paralelismo.

srcRect
RectangleF

RectangleF estrutura que especifica a parte do objeto image a ser desenhado.

srcUnit
GraphicsUnit

Membro da enumeração GraphicsUnit que especifica as unidades de medida usadas pelo parâmetro srcRect.

Exceções

image é null.

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. O código executa as seguintes ações:

  • Cria uma imagem de um arquivo JPEG SampImag.jpg na pasta do exemplo.

  • Cria pontos que definem um paralelismo de destino no qual desenhar a imagem.

  • Cria um retângulo de origem do qual extrair uma parte da imagem.

  • Define a unidade de medida do retângulo de origem como pixels.

  • Desenha a imagem para a tela.

A posição do paralelismo de destino localiza a imagem na tela, o tamanho do retângulo de origem e o tamanho e a forma do paralelismo de destino determinam o dimensionamento e o corte da imagem desenhada e o tamanho do retângulo determina qual parte da imagem original é desenhada para a tela.

C#
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);
}

Comentários

O parâmetro destPoints especifica três pontos de um paralelismo. As três estruturas PointF representam os cantos superior esquerdo, superior direito e inferior esquerdo do paralelismo. O quarto ponto é extrapolado dos três primeiros para formar um parallelogram.

O parâmetro srcRect especifica uma parte retangular do objeto image a ser desenhado. Essa parte é dimensionada e desarmada para caber dentro do parallelogram especificado pelo parâmetro destPoints.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

DrawImage(Image, Rectangle, Rectangle, GraphicsUnit)

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

C#
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, System.Drawing.Rectangle srcRect, System.Drawing.GraphicsUnit srcUnit);

Parâmetros

image
Image

Image desenhar.

destRect
Rectangle

Rectangle estrutura que especifica o local e o tamanho da imagem desenhada. A imagem é dimensionada para ajustar o retângulo.

srcRect
Rectangle

Rectangle estrutura que especifica a parte do objeto image a ser desenhado.

srcUnit
GraphicsUnit

Membro da enumeração GraphicsUnit que especifica as unidades de medida usadas pelo parâmetro srcRect.

Exceções

image é null.

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. O código executa as seguintes ações:

  • Cria uma imagem de um arquivo JPEG SampImag.jpg na pasta do exemplo.

  • Cria um retângulo de destino no qual desenhar a imagem.

  • Cria um retângulo de origem do qual extrair uma parte da imagem.

  • Define a unidade de medida do retângulo de origem como pixels.

  • Desenha a imagem para a tela.

A posição do retângulo de destino localiza a imagem na tela, os tamanhos dos retângulos de origem e destino determinam o dimensionamento da imagem desenhada e o tamanho do retângulo de origem determina qual parte da imagem original é desenhada para a tela.

C#
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);
}

Comentários

O parâmetro srcRect especifica uma parte retangular do objeto image a ser desenhado. Essa parte é dimensionada para caber dentro do retângulo especificado pelo parâmetro destRect.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

DrawImage(Image, RectangleF, RectangleF, GraphicsUnit)

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Desenha a parte especificada do Image especificado no local especificado e com o tamanho especificado.

C#
public void DrawImage (System.Drawing.Image image, System.Drawing.RectangleF destRect, System.Drawing.RectangleF srcRect, System.Drawing.GraphicsUnit srcUnit);

Parâmetros

image
Image

Image desenhar.

destRect
RectangleF

RectangleF estrutura que especifica o local e o tamanho da imagem desenhada. A imagem é dimensionada para ajustar o retângulo.

srcRect
RectangleF

RectangleF estrutura que especifica a parte do objeto image a ser desenhado.

srcUnit
GraphicsUnit

Membro da enumeração GraphicsUnit que especifica as unidades de medida usadas pelo parâmetro srcRect.

Exceções

image é null.

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. O código executa as seguintes ações:

  • Cria uma imagem de um arquivo JPEG SampImag.jpg na pasta do exemplo.

  • Cria um retângulo de destino no qual desenhar a imagem.

  • Cria um retângulo de origem do qual extrair uma parte da imagem.

  • Define a unidade de medida do retângulo de origem como pixels.

  • Desenha a imagem para a tela.

A posição do retângulo de destino localiza a imagem na tela, os tamanhos dos retângulos de origem e destino determinam o dimensionamento da imagem desenhada e o tamanho do retângulo de origem determina qual parte da imagem original é desenhada para a tela.

C#
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);
}

Comentários

O parâmetro srcRect especifica uma parte retangular do objeto image a ser desenhado. Essa parte é dimensionada para caber dentro do retângulo especificado pelo parâmetro destRect.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

DrawImage(Image, Int32, Int32)

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Desenha a imagem especificada, usando seu tamanho físico original, no local especificado por um par de coordenadas.

C#
public void DrawImage (System.Drawing.Image image, int x, int y);

Parâmetros

image
Image

Image desenhar.

x
Int32

A coordenada x do canto superior esquerdo da imagem desenhada.

y
Int32

A coordenada y do canto superior esquerdo da imagem desenhada.

Exceções

image é null.

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. O código executa as seguintes ações:

  • Cria uma imagem de um arquivo JPEG SampImag.jpg na pasta do exemplo SampImag.jpg na pasta do exemplo.

  • Cria as coordenadas de um ponto no qual desenhar o canto superior esquerdo da imagem.

  • Desenha a imagem não dimensionada.

C#
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);
}

Comentários

Um Image armazena um valor para largura de pixel e um valor para resolução horizontal (pontos por polegada). A largura física, medida em polegadas, de uma imagem é a largura do pixel dividida pela resolução horizontal. Por exemplo, uma imagem com uma largura de pixel de 216 e uma resolução horizontal de 72 pontos por polegada tem uma largura física de 3 polegadas. Comentários semelhantes se aplicam à altura do pixel e à altura física.

O método DrawImage desenha uma imagem usando seu tamanho físico, portanto, a imagem terá seu tamanho correto em polegadas, independentemente da resolução (pontos por polegada) do dispositivo de exibição. Por exemplo, suponha que uma imagem tenha uma largura de pixel de 216 e uma resolução horizontal de 72 pontos por polegada. Se você chamar DrawImage desenhar essa imagem em um dispositivo que tenha uma resolução de 96 pontos por polegada, a largura do pixel da imagem renderizada será (216/72)*96 = 288.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

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

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Desenha a parte especificada do Image especificado no local especificado.

C#
public void DrawImage (System.Drawing.Image image, System.Drawing.Point[] destPoints, System.Drawing.Rectangle srcRect, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes? imageAttr);
C#
public void DrawImage (System.Drawing.Image image, System.Drawing.Point[] destPoints, System.Drawing.Rectangle srcRect, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes imageAttr);

Parâmetros

image
Image

Image desenhar.

destPoints
Point[]

Matriz de três estruturas Point que definem um paralelismo.

srcRect
Rectangle

Rectangle estrutura que especifica a parte do objeto image a ser desenhado.

srcUnit
GraphicsUnit

Membro da enumeração GraphicsUnit que especifica as unidades de medida usadas pelo parâmetro srcRect.

imageAttr
ImageAttributes

ImageAttributes que especifica informações de recoloração e gama para o objeto image.

Exceções

image é null.

Exemplos

O exemplo de código a seguir foi projetado para uso com o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. O código executa as seguintes ações:

  • Cria uma imagem de um arquivo JPEG SampImag.jpg na pasta do exemplo.

  • Cria pontos que definem um paralelismo no qual desenhar a imagem.

  • Cria um retângulo para selecionar a parte da imagem a ser desenhada.

  • Define a unidade de desenho gráfico como pixel.

  • Desenha a imagem original para a tela.

  • Cria um paralelismo adicional no qual desenhar uma imagem ajustada.

  • Cria e define os atributos da imagem ajustada para ter um valor gama maior que o normal.

  • Desenha a imagem ajustada para a tela.

Para o paralelismo original não ajustado, a posição localiza a imagem na tela e o tamanho do retângulo e o tamanho e a forma do paralelismo determinam o dimensionamento e o corte da imagem desenhada.

C#
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);
}

Comentários

O parâmetro destPoints especifica três pontos de um paralelismo. As três estruturas Point representam os cantos superior esquerdo, superior direito e inferior esquerdo do paralelismo. O quarto ponto é extrapolado dos três primeiros para formar um parallelogram.

O parâmetro srcRect especifica uma parte retangular do objetoimage a ser desenhado. Essa parte é dimensionada e desarmada para caber dentro do parallelogram especificado pelo parâmetro destPoints.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9