Graphics.DrawImage Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Rysuje wartość określoną Image w określonej lokalizacji i z oryginalnym rozmiarem.
Przeciążenia
DrawImage(Image, Single, Single, RectangleF, GraphicsUnit) |
Rysuje część obrazu w określonej lokalizacji. |
DrawImage(Image, Effect, RectangleF, Matrix, GraphicsUnit, ImageAttributes) | |
DrawImage(Image, Point[], Rectangle, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort) |
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze. |
DrawImage(Image, PointF[], RectangleF, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort) |
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze. |
DrawImage(Image, Point[], Rectangle, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, Int32) |
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze. |
DrawImage(Image, PointF[], RectangleF, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, Int32) |
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze. |
DrawImage(Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit) |
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze. |
DrawImage(Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit, ImageAttributes) |
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze. |
DrawImage(Image, Rectangle, Single, Single, Single, Single, GraphicsUnit, ImageAttributes) |
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze. |
DrawImage(Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort) |
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze. |
DrawImage(Image, Rectangle, Single, Single, Single, Single, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort) |
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze. |
DrawImage(Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, IntPtr) |
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze. |
DrawImage(Image, Rectangle, Single, Single, Single, Single, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, IntPtr) |
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze. |
DrawImage(Image, Rectangle, Single, Single, Single, Single, GraphicsUnit) |
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze. |
DrawImage(Image, Int32, Int32, Int32, Int32) |
Rysuje określony Image w określonej lokalizacji i o określonym rozmiarze. |
DrawImage(Image, Single, Single, Single, Single) |
Rysuje określony Image w określonej lokalizacji i o określonym rozmiarze. |
DrawImage(Image, PointF[], RectangleF, GraphicsUnit, ImageAttributes) |
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze. |
DrawImage(Image, Effect) | |
DrawImage(Image, Point) |
Rysuje określony Imageobiekt przy użyciu oryginalnego rozmiaru fizycznego w określonej lokalizacji. |
DrawImage(Image, Point[]) |
Rysuje określony Image w określonej lokalizacji i o określonym kształcie i rozmiarze. |
DrawImage(Image, PointF) |
Rysuje określony Imageobiekt przy użyciu oryginalnego rozmiaru fizycznego w określonej lokalizacji. |
DrawImage(Image, PointF[]) |
Rysuje określony Image w określonej lokalizacji i o określonym kształcie i rozmiarze. |
DrawImage(Image, Rectangle) |
Rysuje określony Image w określonej lokalizacji i o określonym rozmiarze. |
DrawImage(Image, RectangleF) |
Rysuje określony Image w określonej lokalizacji i o określonym rozmiarze. |
DrawImage(Image, Int32, Int32, Rectangle, GraphicsUnit) |
Rysuje część obrazu w określonej lokalizacji. |
DrawImage(Image, Single, Single) |
Rysuje określony Imageobiekt przy użyciu oryginalnego rozmiaru fizycznego w określonej lokalizacji. |
DrawImage(Image, Point[], Rectangle, GraphicsUnit) |
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze. |
DrawImage(Image, PointF[], RectangleF, GraphicsUnit) |
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze. |
DrawImage(Image, Rectangle, Rectangle, GraphicsUnit) |
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze. |
DrawImage(Image, RectangleF, RectangleF, GraphicsUnit) |
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze. |
DrawImage(Image, Int32, Int32) |
Rysuje określony obraz, używając oryginalnego rozmiaru fizycznego, w lokalizacji określonej przez parę współrzędnych. |
DrawImage(Image, Point[], Rectangle, GraphicsUnit, ImageAttributes) |
Rysuje określoną część określonej Image w określonej lokalizacji. |
DrawImage(Image, Single, Single, RectangleF, GraphicsUnit)
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Rysuje część obrazu w określonej lokalizacji.
public:
void DrawImage(System::Drawing::Image ^ image, float x, float y, System::Drawing::RectangleF srcRect, System::Drawing::GraphicsUnit srcUnit);
public void DrawImage (System.Drawing.Image image, float x, float y, System.Drawing.RectangleF srcRect, System.Drawing.GraphicsUnit srcUnit);
member this.DrawImage : System.Drawing.Image * single * single * System.Drawing.RectangleF * System.Drawing.GraphicsUnit -> unit
Public Sub DrawImage (image As Image, x As Single, y As Single, srcRect As RectangleF, srcUnit As GraphicsUnit)
Parametry
- x
- Single
Współrzędna x lewego górnego rogu narysowanego obrazu.
- y
- Single
Współrzędna y lewego górnego rogu narysowanego obrazu.
- srcRect
- RectangleF
RectangleF struktura określająca część Image obiektu do rysowania.
- srcUnit
- GraphicsUnit
Element członkowski GraphicsUnit wyliczenia, który określa jednostki miary używane przez srcRect
parametr .
Wyjątki
image
to null
.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
parametru Paint programu obsługi zdarzeń. Kod wykonuje następujące akcje:
Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.
Tworzy współrzędne, na których ma być rysowanie lewego górnego rogu obrazu.
Tworzy prostokąt źródłowy, z którego ma być wyodrębniony fragment obrazu.
Ustawia jednostkę miary prostokąta źródłowego na piksele.
Rysuje obraz na ekran.
Rozmiar prostokąta źródłowego określa, która część nieskalowanego oryginalnego obrazu jest rysowana na ekranie.
public:
void DrawImage2FloatRectF( PaintEventArgs^ e )
{
// Create image.
Image^ newImage = Image::FromFile( "SampImag.jpg" );
// Create coordinates for upper-left corner of image.
float x = 100.0F;
float y = 100.0F;
// Create rectangle for source image.
RectangleF srcRect = RectangleF(50.0F,50.0F,150.0F,150.0F);
GraphicsUnit units = GraphicsUnit::Pixel;
// Draw image to screen.
e->Graphics->DrawImage( newImage, x, y, srcRect, units );
}
public void DrawImage2FloatRectF(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create coordinates for upper-left corner of image.
float x = 100.0F;
float y = 100.0F;
// Create rectangle for source image.
RectangleF srcRect = new RectangleF(50.0F, 50.0F, 150.0F, 150.0F);
GraphicsUnit units = GraphicsUnit.Pixel;
// Draw image to screen.
e.Graphics.DrawImage(newImage, x, y, srcRect, units);
}
Public Sub DrawImage2FloatRectF(ByVal e As PaintEventArgs)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create coordinates for upper-left corner of image.
Dim x As Single = 100.0F
Dim y As Single = 100.0F
' Create rectangle for source image.
Dim srcRect As New RectangleF(50.0F, 50.0F, 150.0F, 150.0F)
Dim units As GraphicsUnit = GraphicsUnit.Pixel
' Draw image to screen.
e.Graphics.DrawImage(newImage, x, y, srcRect, units)
End Sub
Uwagi
Obiekt Image przechowuje wartość szerokości pikseli i wartość rozdzielczości poziomej (kropki na cal). Szerokość fizyczna mierzona w calach obrazu to szerokość pikseli podzielona przez rozdzielczość poziomą. Na przykład obraz o szerokości pikseli 360 i rozdzielczości poziomej 72 kropek na cal ma fizyczną szerokość 5 cali. Podobne uwagi dotyczą wysokości pikseli i wysokości fizycznej.
Ta metoda rysuje część obrazu przy użyciu jego rozmiaru fizycznego, więc część obrazu będzie miała prawidłowy rozmiar w calach niezależnie od rozdzielczości (kropek na cal) urządzenia wyświetlania. Załóżmy na przykład, że część obrazu ma szerokość pikseli 216 i rozdzielczość poziomą 72 kropek na cal. Jeśli wywołasz tę metodę, aby narysować tę część obrazu na urządzeniu o rozdzielczości 96 kropek na cal, szerokość pikseli renderowanego obrazu będzie wynosić (216/72)*96 = 288.
Zobacz też
Dotyczy
DrawImage(Image, Effect, RectangleF, Matrix, GraphicsUnit, ImageAttributes)
- Źródło:
- Graphics.cs
public void DrawImage (System.Drawing.Image image, System.Drawing.Imaging.Effects.Effect effect, System.Drawing.RectangleF srcRect = default, System.Drawing.Drawing2D.Matrix? transform = default, System.Drawing.GraphicsUnit srcUnit = System.Drawing.GraphicsUnit.Pixel, System.Drawing.Imaging.ImageAttributes? imageAttr = default);
member this.DrawImage : System.Drawing.Image * System.Drawing.Imaging.Effects.Effect * System.Drawing.RectangleF * System.Drawing.Drawing2D.Matrix * System.Drawing.GraphicsUnit * System.Drawing.Imaging.ImageAttributes -> unit
Public Sub DrawImage (image As Image, effect As Effect, Optional srcRect As RectangleF = Nothing, Optional transform As Matrix = Nothing, Optional srcUnit As GraphicsUnit = System.Drawing.GraphicsUnit.Pixel, Optional imageAttr As ImageAttributes = Nothing)
Parametry
- image
- Image
- effect
- Effect
- srcRect
- RectangleF
- transform
- Matrix
- srcUnit
- GraphicsUnit
- imageAttr
- ImageAttributes
Dotyczy
DrawImage(Image, Point[], Rectangle, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort)
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.
public:
void DrawImage(System::Drawing::Image ^ image, cli::array <System::Drawing::Point> ^ destPoints, System::Drawing::Rectangle srcRect, System::Drawing::GraphicsUnit srcUnit, System::Drawing::Imaging::ImageAttributes ^ imageAttr, System::Drawing::Graphics::DrawImageAbort ^ callback);
public void DrawImage (System.Drawing.Image image, System.Drawing.Point[] destPoints, System.Drawing.Rectangle srcRect, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes imageAttr, System.Drawing.Graphics.DrawImageAbort callback);
public void DrawImage (System.Drawing.Image image, System.Drawing.Point[] destPoints, System.Drawing.Rectangle srcRect, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes? imageAttr, System.Drawing.Graphics.DrawImageAbort? callback);
member this.DrawImage : System.Drawing.Image * System.Drawing.Point[] * System.Drawing.Rectangle * System.Drawing.GraphicsUnit * System.Drawing.Imaging.ImageAttributes * System.Drawing.Graphics.DrawImageAbort -> unit
Public Sub DrawImage (image As Image, destPoints As Point(), srcRect As Rectangle, srcUnit As GraphicsUnit, imageAttr As ImageAttributes, callback As Graphics.DrawImageAbort)
Parametry
- srcUnit
- GraphicsUnit
Element członkowski wyliczenia GraphicsUnit , który określa jednostki miary używane przez srcRect
parametr .
- imageAttr
- ImageAttributes
ImageAttributes określa ponowne kolorowanie i informacje gamma dla image
obiektu.
- callback
- Graphics.DrawImageAbort
Graphics.DrawImageAbort delegate, który określa metodę wywołania podczas rysunku obrazu. Ta metoda jest często wywoływana w celu sprawdzenia, czy zatrzymać wykonywanie DrawImage(Image, Point[], Rectangle, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort) metody zgodnie z kryteriami określonymi przez aplikację.
Wyjątki
image
to null
.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
parametru Paint programu obsługi zdarzeń. Kod najpierw definiuje metodę wywołania zwrotnego dla delegata Graphics.DrawImageAbort . Definicja jest uproszczona i jedynie testuje, czy DrawImage metoda wywołuje ją za pomocą parametru null callBackData
. Główna treść przykładu wykonuje następujące akcje:
Tworzy wystąpienie metody wywołania zwrotnego Graphics.DrawImageAbort :
Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.
Tworzy punkty definiujące równoległyogram, w którym ma być rysowanie obrazu.
Tworzy prostokąt, aby wybrać część obrazu do rysowania.
Ustawia jednostkę rysunku graficznego na piksel.
Rysuje oryginalny obraz na ekran.
Tworzy dodatkowy równoległyogram, w którym ma być rysowany dostosowany obraz.
Tworzy i ustawia atrybuty dostosowanego obrazu, aby mieć większą niż zwykle wartość gamma.
Rysuje dostosowany obraz do ekranu.
W przypadku oryginalnego, nieokreślonego równoległegoogramu pozycja lokalizuje obraz na ekranie, a rozmiar prostokąta oraz rozmiar i kształt równoległegoogramu określa skalowanie i ścinanie rysunkowego obrazu.
Ponieważ w tym przykładzie użyto przeciążenia, które nie przekazuje parametru callBackData
, Graphics.DrawImageAbort wywołanie zwrotne zwraca true
wartość , co powoduje DrawImage zakończenie metody, a kod obsługi wyjątków zawarty w przykładzie wyświetla tekst wyjątku, a nie rysuje obrazu.
// Define DrawImageAbort callback method.
private:
bool DrawImageCallback1( IntPtr callBackData )
{
// Test for call that passes callBackData parameter.
if ( callBackData == IntPtr::Zero )
{
// If no callBackData passed, abort DrawImage method.
return true;
}
else
{
// If callBackData passed, continue DrawImage method.
return false;
}
}
private:
void DrawImageParaRectAttribAbort( PaintEventArgs^ e )
{
// Create callback method.
Graphics::DrawImageAbort^ imageCallback = gcnew Graphics::DrawImageAbort( this, &Form1::DrawImageCallback1 );
// Create image.
Image^ newImage = Image::FromFile( "SampImag.jpg" );
// Create parallelogram for drawing original image.
Point ulCorner = Point(100,100);
Point urCorner = Point(550,100);
Point llCorner = Point(150,250);
array<Point>^ destPara1 = {ulCorner,urCorner,llCorner};
// Create rectangle for source image.
Rectangle srcRect = Rectangle(50,50,150,150);
GraphicsUnit units = GraphicsUnit::Pixel;
// Draw original image to screen.
e->Graphics->DrawImage( newImage, destPara1, srcRect, units );
// Create parallelogram for drawing adjusted image.
Point ulCorner2 = Point(325,100);
Point urCorner2 = Point(550,100);
Point llCorner2 = Point(375,250);
array<Point>^ destPara2 = {ulCorner2,urCorner2,llCorner2};
// Create image attributes and set large gamma.
ImageAttributes^ imageAttr = gcnew ImageAttributes;
imageAttr->SetGamma( 4.0F );
try
{
// Draw image to screen.
e->Graphics->DrawImage( newImage, destPara2, srcRect, units, imageAttr, imageCallback );
}
catch ( Exception^ ex )
{
e->Graphics->DrawString( ex->ToString(), gcnew System::Drawing::Font( "Arial",8 ), Brushes::Black, PointF(0,0) );
}
}
// Define DrawImageAbort callback method.
private bool DrawImageCallback1(IntPtr callBackData)
{
// Test for call that passes callBackData parameter.
if(callBackData==IntPtr.Zero)
{
// If no callBackData passed, abort DrawImage method.
return true;
}
else
{
// If callBackData passed, continue DrawImage method.
return false;
}
}
private void DrawImageParaRectAttribAbort(PaintEventArgs e)
{
// Create callback method.
Graphics.DrawImageAbort imageCallback
= new Graphics.DrawImageAbort(DrawImageCallback1);
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create parallelogram for drawing original image.
Point ulCorner = new Point(100, 100);
Point urCorner = new Point(550, 100);
Point llCorner = new Point(150, 250);
Point[] destPara1 = {ulCorner, urCorner, llCorner};
// Create rectangle for source image.
Rectangle srcRect = new Rectangle(50, 50, 150, 150);
GraphicsUnit units = GraphicsUnit.Pixel;
// Draw original image to screen.
e.Graphics.DrawImage(newImage, destPara1, srcRect, units);
// Create parallelogram for drawing adjusted image.
Point ulCorner2 = new Point(325, 100);
Point urCorner2 = new Point(550, 100);
Point llCorner2 = new Point(375, 250);
Point[] destPara2 = {ulCorner2, urCorner2, llCorner2};
// Create image attributes and set large gamma.
ImageAttributes imageAttr = new ImageAttributes();
imageAttr.SetGamma(4.0F);
try
{
checked
{
// Draw image to screen.
e.Graphics.DrawImage(
newImage,
destPara2,
srcRect,
units,
imageAttr,
imageCallback);
}
}
catch (Exception ex)
{
e.Graphics.DrawString(
ex.ToString(),
new Font("Arial", 8),
Brushes.Black,
new PointF(0, 0));
}
}
Private Function DrawImageCallback1(ByVal callBackData As IntPtr) As Boolean
' Test for call that passes callBackData parameter.
If callBackData.Equals(IntPtr.Zero) Then
' If no callBackData passed, abort DrawImage method.
Return True
Else
' If callBackData passed, continue DrawImage method.
Return False
End If
End Function
Private Sub DrawImageParaRectAttribAbort(ByVal e As PaintEventArgs)
' Create callback method.
Dim imageCallback As New _
Graphics.DrawImageAbort(AddressOf DrawImageCallback1)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create parallelogram for drawing original image.
Dim ulCorner As New Point(100, 100)
Dim urCorner As New Point(550, 100)
Dim llCorner As New Point(150, 250)
Dim destPara1 As Point() = {ulCorner, urCorner, llCorner}
' Create rectangle for source image.
Dim srcRect As New Rectangle(50, 50, 150, 150)
Dim units As GraphicsUnit = GraphicsUnit.Pixel
' Draw original image to screen.
e.Graphics.DrawImage(newImage, destPara1, srcRect, units)
' Create parallelogram for drawing adjusted image.
Dim ulCorner2 As New Point(325, 100)
Dim urCorner2 As New Point(550, 100)
Dim llCorner2 As New Point(375, 250)
Dim destPara2 As Point() = {ulCorner2, urCorner2, llCorner2}
' Create image attributes and set large gamma.
Dim imageAttr As New ImageAttributes
imageAttr.SetGamma(4.0F)
Try
' Draw image to screen.
e.Graphics.DrawImage(newImage, destPara2, srcRect, units, _
imageAttr, imageCallback)
Catch ex As Exception
e.Graphics.DrawString(ex.ToString(), New Font("Arial", 8), _
Brushes.Black, New PointF(0, 0))
End Try
End Sub
Uwagi
Parametr destPoints
określa trzy punkty parallelogramu. Trzy PointF struktury reprezentują lewe górne, prawe górne i lewe dolne rogi równoległegoogramu. Czwarty punkt jest ekstrapolowany z pierwszych trzech do utworzenia równoległego.
Parametr srcRect
określa prostokątną część image
obiektu do rysowania. Ta część jest skalowana i sznana w celu dopasowania do równoległegoogramu określonego destPoints
przez parametr .
To przeciążenie za pomocą parametru callback
zapewnia metodę zatrzymania rysunku obrazu po uruchomieniu zgodnie z kryteriami określonymi przez aplikację. Na przykład aplikacja może rozpocząć rysowanie dużego obrazu, a użytkownik może przewijać obraz z ekranu, w tym przypadku aplikacja może zatrzymać rysunek.
Zobacz też
Dotyczy
DrawImage(Image, PointF[], RectangleF, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort)
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.
public:
void DrawImage(System::Drawing::Image ^ image, cli::array <System::Drawing::PointF> ^ destPoints, System::Drawing::RectangleF srcRect, System::Drawing::GraphicsUnit srcUnit, System::Drawing::Imaging::ImageAttributes ^ imageAttr, System::Drawing::Graphics::DrawImageAbort ^ callback);
public void DrawImage (System.Drawing.Image image, System.Drawing.PointF[] destPoints, System.Drawing.RectangleF srcRect, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes imageAttr, System.Drawing.Graphics.DrawImageAbort callback);
public void DrawImage (System.Drawing.Image image, System.Drawing.PointF[] destPoints, System.Drawing.RectangleF srcRect, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes? imageAttr, System.Drawing.Graphics.DrawImageAbort? callback);
member this.DrawImage : System.Drawing.Image * System.Drawing.PointF[] * System.Drawing.RectangleF * System.Drawing.GraphicsUnit * System.Drawing.Imaging.ImageAttributes * System.Drawing.Graphics.DrawImageAbort -> unit
Public Sub DrawImage (image As Image, destPoints As PointF(), srcRect As RectangleF, srcUnit As GraphicsUnit, imageAttr As ImageAttributes, callback As Graphics.DrawImageAbort)
Parametry
- srcRect
- RectangleF
RectangleF struktura określająca część image
obiektu do rysowania.
- srcUnit
- GraphicsUnit
Element członkowski wyliczenia GraphicsUnit , który określa jednostki miary używane przez srcRect
parametr .
- imageAttr
- ImageAttributes
ImageAttributes określa ponowne kolorowanie i informacje gamma dla image
obiektu.
- callback
- Graphics.DrawImageAbort
Graphics.DrawImageAbort delegate, który określa metodę wywołania podczas rysunku obrazu. Ta metoda jest często wywoływana w celu sprawdzenia, czy zatrzymać wykonywanie DrawImage(Image, PointF[], RectangleF, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort) metody zgodnie z kryteriami określonymi przez aplikację.
Wyjątki
image
to null
.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
parametru Paint programu obsługi zdarzeń. Kod najpierw definiuje metodę wywołania zwrotnego dla Graphics.DrawImageAbort delegata. Definicja jest uproszczona i jedynie sprawdza, czy DrawImage metoda wywołuje ją za pomocą parametru null callBackData
. Główna treść przykładu wykonuje następujące akcje:
Tworzy wystąpienie Graphics.DrawImageAbort metody wywołania zwrotnego.
Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.
Tworzy punkty definiujące równoległy obraz, w którym ma być rysowanie obrazu.
Tworzy prostokąt, aby wybrać część obrazu do narysowania.
Ustawia jednostkę rysunku grafiki na piksel.
Rysuje oryginalny obraz na ekran.
Tworzy dodatkowy równoległyogram, w którym ma być narysowany obraz.
Tworzy i ustawia atrybuty dostosowanego obrazu, aby mieć większą niż zwykle wartość gamma.
Rysuje dostosowany obraz do ekranu.
W przypadku oryginalnego, nieokreślonego równoległegoogramu pozycja lokalizuje obraz na ekranie, a rozmiar prostokąta oraz rozmiar i kształt równoległegoogramu określa skalowanie i ścinanie rysunkowego obrazu.
Ponieważ w tym przykładzie użyto przeciążenia, które nie przekazuje parametru callBackData
, Graphics.DrawImageAbort wywołanie zwrotne zwraca true
wartość , co powoduje DrawImage zakończenie metody, a kod obsługi wyjątków zawarty w przykładzie wyświetla tekst wyjątku, a nie rysuje obrazu.
// Define DrawImageAbort callback method.
private:
bool DrawImageCallback3( IntPtr callBackData )
{
// Test for call that passes callBackData parameter.
if ( callBackData == IntPtr::Zero )
{
// If no callBackData passed, abort DrawImage method.
return true;
}
else
{
// If callBackData passed, continue DrawImage method.
return false;
}
}
private:
void DrawImageParaFRectAttribAbort( PaintEventArgs^ e )
{
// Create callback method.
Graphics::DrawImageAbort^ imageCallback = gcnew Graphics::DrawImageAbort( this, &Form1::DrawImageCallback3 );
// Create image.
Image^ newImage = Image::FromFile( "SampImag.jpg" );
// Create parallelogram for drawing original image.
PointF ulCorner1 = PointF(100.0F,100.0F);
PointF urCorner1 = PointF(325.0F,100.0F);
PointF llCorner1 = PointF(150.0F,250.0F);
array<PointF>^ destPara1 = {ulCorner1,urCorner1,llCorner1};
// Create rectangle for source image.
RectangleF srcRect = RectangleF(50.0F,50.0F,150.0F,150.0F);
GraphicsUnit units = GraphicsUnit::Pixel;
// Create parallelogram for drawing adjusted image.
PointF ulCorner2 = PointF(325.0F,100.0F);
PointF urCorner2 = PointF(550.0F,100.0F);
PointF llCorner2 = PointF(375.0F,250.0F);
array<PointF>^ destPara2 = {ulCorner2,urCorner2,llCorner2};
// Draw original image to screen.
e->Graphics->DrawImage( newImage, destPara1, srcRect, units );
// Create image attributes and set large gamma.
ImageAttributes^ imageAttr = gcnew ImageAttributes;
imageAttr->SetGamma( 4.0F );
try
{
// Draw adjusted image to screen.
e->Graphics->DrawImage( newImage, destPara2, srcRect, units, imageAttr, imageCallback );
}
catch ( Exception^ ex )
{
e->Graphics->DrawString( ex->ToString(), gcnew System::Drawing::Font( "Arial",8 ), Brushes::Black, PointF(0,0) );
}
}
// Define DrawImageAbort callback method.
private bool DrawImageCallback3(IntPtr callBackData)
{
// Test for call that passes callBackData parameter.
if(callBackData==IntPtr.Zero)
{
// If no callBackData passed, abort DrawImage method.
return true;
}
else
{
// If callBackData passed, continue DrawImage method.
return false;
}
}
private void DrawImageParaFRectAttribAbort(PaintEventArgs e)
{
// Create callback method.
Graphics.DrawImageAbort imageCallback
= new Graphics.DrawImageAbort(DrawImageCallback3);
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create parallelogram for drawing original image.
PointF ulCorner1 = new PointF(100.0F, 100.0F);
PointF urCorner1 = new PointF(325.0F, 100.0F);
PointF llCorner1 = new PointF(150.0F, 250.0F);
PointF[] destPara1 = {ulCorner1, urCorner1, llCorner1};
// Create rectangle for source image.
RectangleF srcRect = new RectangleF(50.0F, 50.0F, 150.0F, 150.0F);
GraphicsUnit units = GraphicsUnit.Pixel;
// Create parallelogram for drawing adjusted image.
PointF ulCorner2 = new PointF(325.0F, 100.0F);
PointF urCorner2 = new PointF(550.0F, 100.0F);
PointF llCorner2 = new PointF(375.0F, 250.0F);
PointF[] destPara2 = {ulCorner2, urCorner2, llCorner2};
// Draw original image to screen.
e.Graphics.DrawImage(newImage, destPara1, srcRect, units);
// Create image attributes and set large gamma.
ImageAttributes imageAttr = new ImageAttributes();
imageAttr.SetGamma(4.0F);
try
{
checked
{
// Draw adjusted image to screen.
e.Graphics.DrawImage(
newImage,
destPara2,
srcRect,
units,
imageAttr,
imageCallback);
}
}
catch (Exception ex)
{
e.Graphics.DrawString(
ex.ToString(),
new Font("Arial", 8),
Brushes.Black,
new PointF(0, 0));
}
}
Private Function DrawImageCallback3(ByVal callBackData As IntPtr) As Boolean
' Test for call that passes callBackData parameter.
If callBackData.Equals(IntPtr.Zero) Then
' If no callBackData passed, abort DrawImage method.
Return True
Else
' If callBackData passed, continue DrawImage method.
Return False
End If
End Function
Private Sub DrawImageParaFRectAttribAbort(ByVal e As PaintEventArgs)
' Create callback method.
Dim imageCallback As New _
Graphics.DrawImageAbort(AddressOf DrawImageCallback3)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create parallelogram for drawing original image.
Dim ulCorner1 As New PointF(100.0F, 100.0F)
Dim urCorner1 As New PointF(325.0F, 100.0F)
Dim llCorner1 As New PointF(150.0F, 250.0F)
Dim destPara1 As PointF() = {ulCorner1, urCorner1, llCorner1}
' Create rectangle for source image.
Dim srcRect As New RectangleF(50.0F, 50.0F, 150.0F, 150.0F)
Dim units As GraphicsUnit = GraphicsUnit.Pixel
' Create parallelogram for drawing adjusted image.
Dim ulCorner2 As New PointF(325.0F, 100.0F)
Dim urCorner2 As New PointF(550.0F, 100.0F)
Dim llCorner2 As New PointF(375.0F, 250.0F)
Dim destPara2 As PointF() = {ulCorner2, urCorner2, llCorner2}
' Draw original image to screen.
e.Graphics.DrawImage(newImage, destPara1, srcRect, units)
' Create image attributes and set large gamma.
Dim imageAttr As New ImageAttributes
imageAttr.SetGamma(4.0F)
Try
' Draw adjusted image to screen.
e.Graphics.DrawImage(newImage, destPara2, srcRect, units, _
imageAttr, imageCallback)
Catch ex As Exception
e.Graphics.DrawString(ex.ToString(), New Font("Arial", 8), _
Brushes.Black, New PointF(0, 0))
End Try
End Sub
Uwagi
Parametr destPoints
określa trzy punkty parallelogramu. Trzy PointF struktury reprezentują lewe górne, prawe górne i lewe dolne rogi równoległegoogramu. Czwarty punkt jest ekstrapolowany z pierwszych trzech do utworzenia równoległego.
Parametr srcRect
określa prostokątną część image
obiektu do rysowania. Ta część jest skalowana i sznana w celu dopasowania do równoległegoogramu określonego destPoints
przez parametr .
To przeciążenie za pomocą parametru callback
zapewnia metodę zatrzymania rysunku obrazu po uruchomieniu zgodnie z kryteriami określonymi przez aplikację. Na przykład aplikacja może rozpocząć rysowanie dużego obrazu, a użytkownik może przewijać obraz z ekranu, w tym przypadku aplikacja może zatrzymać rysunek.
Zobacz też
Dotyczy
DrawImage(Image, Point[], Rectangle, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, Int32)
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.
public:
void DrawImage(System::Drawing::Image ^ image, cli::array <System::Drawing::Point> ^ destPoints, System::Drawing::Rectangle srcRect, System::Drawing::GraphicsUnit srcUnit, System::Drawing::Imaging::ImageAttributes ^ imageAttr, System::Drawing::Graphics::DrawImageAbort ^ callback, int callbackData);
public void DrawImage (System.Drawing.Image image, System.Drawing.Point[] destPoints, System.Drawing.Rectangle srcRect, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes imageAttr, System.Drawing.Graphics.DrawImageAbort callback, int callbackData);
public void DrawImage (System.Drawing.Image image, System.Drawing.Point[] destPoints, System.Drawing.Rectangle srcRect, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes? imageAttr, System.Drawing.Graphics.DrawImageAbort? callback, int callbackData);
member this.DrawImage : System.Drawing.Image * System.Drawing.Point[] * System.Drawing.Rectangle * System.Drawing.GraphicsUnit * System.Drawing.Imaging.ImageAttributes * System.Drawing.Graphics.DrawImageAbort * int -> unit
Public Sub DrawImage (image As Image, destPoints As Point(), srcRect As Rectangle, srcUnit As GraphicsUnit, imageAttr As ImageAttributes, callback As Graphics.DrawImageAbort, callbackData As Integer)
Parametry
- srcUnit
- GraphicsUnit
Element członkowski wyliczenia GraphicsUnit , który określa jednostki miary używane przez srcRect
parametr .
- imageAttr
- ImageAttributes
ImageAttributes określa ponowne kolorowanie i informacje gamma dla image
obiektu.
- callback
- Graphics.DrawImageAbort
Graphics.DrawImageAbort delegate, który określa metodę wywołania podczas rysunku obrazu. Ta metoda jest często wywoływana w celu sprawdzenia, czy zatrzymać wykonywanie DrawImage(Image, Point[], Rectangle, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, Int32) metody zgodnie z kryteriami określonymi przez aplikację.
- callbackData
- Int32
Wartość określająca dodatkowe dane dla delegata Graphics.DrawImageAbort do użycia podczas sprawdzania DrawImage(Image, Point[], Rectangle, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, Int32) , czy zatrzymać wykonywanie metody.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
parametru Paint programu obsługi zdarzeń. Kod najpierw definiuje metodę wywołania zwrotnego dla Graphics.DrawImageAbort delegata. Definicja jest uproszczona i jedynie sprawdza, czy DrawImage metoda wywołuje ją za pomocą parametru null callBackData
. Główna treść przykładu wykonuje następujące akcje:
Tworzy wystąpienie Graphics.DrawImageAbort metody wywołania zwrotnego.
Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.
Tworzy punkty definiujące równoległy obraz, w którym ma być rysowanie obrazu.
Tworzy prostokąt, aby wybrać część obrazu do narysowania.
Ustawia jednostkę rysunku grafiki na piksel.
Rysuje oryginalny obraz na ekran.
Tworzy dodatkowy równoległyogram, w którym ma być narysowany obraz.
Tworzy i ustawia atrybuty dostosowanego obrazu, aby mieć większą niż zwykle wartość gamma.
Rysuje dostosowany obraz do ekranu.
W przypadku oryginalnego, nieokreślonego równoległegoogramu pozycja lokalizuje obraz na ekranie, a rozmiar prostokąta oraz rozmiar i kształt równoległegoogramu określa skalowanie i ścinanie rysunkowego obrazu.
Ponieważ w tym przykładzie użyto przeciążenia, które przekazuje callBackData
parametr, Graphics.DrawImageAbort wywołanie zwrotne zwraca false
wartość , co powoduje DrawImage kontynuowanie metody, a przykład rysuje dostosowany obraz na ekran.
// Define DrawImageAbort callback method.
private:
bool DrawImageCallback2( IntPtr callBackData )
{
// Test for call that passes callBackData parameter.
if ( callBackData == IntPtr::Zero )
{
// If no callBackData passed, abort DrawImage method.
return true;
}
else
{
// If callBackData passed, continue DrawImage method.
return false;
}
}
private:
void DrawImageParaRectAttribAbortData( PaintEventArgs^ e )
{
// Create callback method.
Graphics::DrawImageAbort^ imageCallback = gcnew Graphics::DrawImageAbort( this, &Form1::DrawImageCallback2 );
int imageCallbackData = 1;
// Create image.
Image^ newImage = Image::FromFile( "SampImag.jpg" );
// Create parallelogram for drawing original image.
Point ulCorner = Point(100,100);
Point urCorner = Point(550,100);
Point llCorner = Point(150,250);
array<Point>^ destPara1 = {ulCorner,urCorner,llCorner};
// Create rectangle for source image.
Rectangle srcRect = Rectangle(50,50,150,150);
GraphicsUnit units = GraphicsUnit::Pixel;
// Draw original image to screen.
e->Graphics->DrawImage( newImage, destPara1, srcRect, units );
// Create parallelogram for drawing adjusted image.
Point ulCorner2 = Point(325,100);
Point urCorner2 = Point(550,100);
Point llCorner2 = Point(375,250);
array<Point>^ destPara2 = {ulCorner2,urCorner2,llCorner2};
// Create image attributes and set large gamma.
ImageAttributes^ imageAttr = gcnew ImageAttributes;
imageAttr->SetGamma( 4.0F );
try
{
// Draw image to screen.
e->Graphics->DrawImage( newImage, destPara2, srcRect, units, imageAttr, imageCallback, imageCallbackData );
}
catch ( Exception^ ex )
{
e->Graphics->DrawString( ex->ToString(), gcnew System::Drawing::Font( "Arial",8 ), Brushes::Black, PointF(0,0) );
}
}
// Define DrawImageAbort callback method.
private bool DrawImageCallback2(IntPtr callBackData)
{
// Test for call that passes callBackData parameter.
if(callBackData==IntPtr.Zero)
{
// If no callBackData passed, abort DrawImage method.
return true;
}
else
{
// If callBackData passed, continue DrawImage method.
return false;
}
}
private void DrawImageParaRectAttribAbortData(PaintEventArgs e)
{
// Create callback method.
Graphics.DrawImageAbort imageCallback
= new Graphics.DrawImageAbort(DrawImageCallback2);
int imageCallbackData = 1;
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create parallelogram for drawing original image.
Point ulCorner = new Point(100, 100);
Point urCorner = new Point(550, 100);
Point llCorner = new Point(150, 250);
Point[] destPara1 = {ulCorner, urCorner, llCorner};
// Create rectangle for source image.
Rectangle srcRect = new Rectangle(50, 50, 150, 150);
GraphicsUnit units = GraphicsUnit.Pixel;
// Draw original image to screen.
e.Graphics.DrawImage(newImage, destPara1, srcRect, units);
// Create parallelogram for drawing adjusted image.
Point ulCorner2 = new Point(325, 100);
Point urCorner2 = new Point(550, 100);
Point llCorner2 = new Point(375, 250);
Point[] destPara2 = {ulCorner2, urCorner2, llCorner2};
// Create image attributes and set large gamma.
ImageAttributes imageAttr = new ImageAttributes();
imageAttr.SetGamma(4.0F);
try
{
checked
{
// Draw image to screen.
e.Graphics.DrawImage(
newImage,
destPara2,
srcRect,
units,
imageAttr,
imageCallback,
imageCallbackData);
}
}
catch (Exception ex)
{
e.Graphics.DrawString(
ex.ToString(),
new Font("Arial", 8),
Brushes.Black,
new PointF(0, 0));
}
}
Private Function DrawImageCallback2(ByVal callBackData As IntPtr) As Boolean
' Test for call that passes callBackData parameter.
If callBackData.Equals(IntPtr.Zero) Then
' If no callBackData passed, abort DrawImage method.
Return True
Else
' If callBackData passed, continue DrawImage method.
Return False
End If
End Function
Private Sub DrawImageParaRectAttribAbortData(ByVal e As PaintEventArgs)
' Create callback method.
Dim imageCallback As New _
Graphics.DrawImageAbort(AddressOf DrawImageCallback2)
Dim imageCallbackData As Integer = 1
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create parallelogram for drawing original image.
Dim ulCorner As New Point(100, 100)
Dim urCorner As New Point(550, 100)
Dim llCorner As New Point(150, 250)
Dim destPara1 As Point() = {ulCorner, urCorner, llCorner}
' Create rectangle for source image.
Dim srcRect As New Rectangle(50, 50, 150, 150)
Dim units As GraphicsUnit = GraphicsUnit.Pixel
' Draw original image to screen.
e.Graphics.DrawImage(newImage, destPara1, srcRect, units)
' Create parallelogram for drawing adjusted image.
Dim ulCorner2 As New Point(325, 100)
Dim urCorner2 As New Point(550, 100)
Dim llCorner2 As New Point(375, 250)
Dim destPara2 As Point() = {ulCorner2, urCorner2, llCorner2}
' Create image attributes and set large gamma.
Dim imageAttr As New ImageAttributes
imageAttr.SetGamma(4.0F)
Try
' Draw image to screen.
e.Graphics.DrawImage(newImage, destPara2, srcRect, units, _
imageAttr, imageCallback, imageCallbackData)
Catch ex As Exception
e.Graphics.DrawString(ex.ToString(), New Font("Arial", 8), _
Brushes.Black, New PointF(0, 0))
End Try
End Sub
Uwagi
Parametr destPoints
określa trzy punkty parallelogramu. Trzy PointF struktury reprezentują lewe górne, prawe górne i lewe dolne rogi równoległegoogramu. Czwarty punkt jest ekstrapolowany z pierwszych trzech do utworzenia równoległego.
Parametr srcRect
określa prostokątną część image
obiektu do rysowania. Ta część jest skalowana i sznana w celu dopasowania do równoległegoogramu określonego destPoints
przez parametr .
To przeciążenie za pomocą callback
parametrów i callbackData
umożliwia zatrzymanie rysunku obrazu po uruchomieniu zgodnie z kryteriami i danymi określonymi przez aplikację. Na przykład aplikacja może rozpocząć rysowanie dużego obrazu, a użytkownik może przewijać obraz z ekranu, w tym przypadku aplikacja może zatrzymać rysunek.
Zobacz też
Dotyczy
DrawImage(Image, PointF[], RectangleF, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, Int32)
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.
public:
void DrawImage(System::Drawing::Image ^ image, cli::array <System::Drawing::PointF> ^ destPoints, System::Drawing::RectangleF srcRect, System::Drawing::GraphicsUnit srcUnit, System::Drawing::Imaging::ImageAttributes ^ imageAttr, System::Drawing::Graphics::DrawImageAbort ^ callback, int callbackData);
public void DrawImage (System.Drawing.Image image, System.Drawing.PointF[] destPoints, System.Drawing.RectangleF srcRect, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes imageAttr, System.Drawing.Graphics.DrawImageAbort callback, int callbackData);
public void DrawImage (System.Drawing.Image image, System.Drawing.PointF[] destPoints, System.Drawing.RectangleF srcRect, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes? imageAttr, System.Drawing.Graphics.DrawImageAbort? callback, int callbackData);
member this.DrawImage : System.Drawing.Image * System.Drawing.PointF[] * System.Drawing.RectangleF * System.Drawing.GraphicsUnit * System.Drawing.Imaging.ImageAttributes * System.Drawing.Graphics.DrawImageAbort * int -> unit
Public Sub DrawImage (image As Image, destPoints As PointF(), srcRect As RectangleF, srcUnit As GraphicsUnit, imageAttr As ImageAttributes, callback As Graphics.DrawImageAbort, callbackData As Integer)
Parametry
- srcRect
- RectangleF
RectangleF struktura określająca część image
obiektu do rysowania.
- srcUnit
- GraphicsUnit
Element członkowski wyliczenia GraphicsUnit , który określa jednostki miary używane przez srcRect
parametr .
- imageAttr
- ImageAttributes
ImageAttributes określa ponowne kolorowanie i informacje gamma dla image
obiektu.
- callback
- Graphics.DrawImageAbort
Graphics.DrawImageAbort delegate, który określa metodę do wywołania podczas rysowania obrazu. Ta metoda jest często wywoływana w celu sprawdzenia, czy zatrzymać wykonywanie DrawImage(Image, PointF[], RectangleF, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, Int32) metody zgodnie z kryteriami określonymi przez aplikację.
- callbackData
- Int32
Wartość określająca dodatkowe dane dla delegata Graphics.DrawImageAbort do użycia podczas sprawdzania DrawImage(Image, PointF[], RectangleF, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, Int32) , czy zatrzymać wykonywanie metody.
Wyjątki
image
to null
.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
parametru Pa
Paint programu obsługi zdarzeń. Kod najpierw definiuje metodę wywołania zwrotnego dla Graphics.DrawImageAbort delegata. Definicja jest uproszczona i jedynie sprawdza, czy DrawImage metoda wywołuje ją za pomocą parametru null callBackData
. Główna treść przykładu wykonuje następujące akcje:
Tworzy wystąpienie Graphics.DrawImageAbort metody wywołania zwrotnego.
Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.
Tworzy punkty definiujące równoległy obraz, w którym ma być rysowanie obrazu.
Tworzy prostokąt, aby wybrać część obrazu do narysowania.
Ustawia jednostkę rysunku grafiki na piksel.
Rysuje oryginalny obraz na ekran.
Tworzy dodatkowy równoległyogram, w którym ma być narysowany obraz.
Tworzy i ustawia atrybuty dostosowanego obrazu, aby mieć większą niż zwykle wartość gamma.
Rysuje dostosowany obraz do ekranu.
W przypadku oryginalnego, nieokreślonego równoległegoogramu pozycja lokalizuje obraz na ekranie, a rozmiar prostokąta oraz rozmiar i kształt równoległegoogramu określa skalowanie i ścinanie rysunkowego obrazu.
Ponieważ w tym przykładzie użyto przeciążenia, które przekazuje callBackData
parametr, Graphics.DrawImageAbort wywołanie zwrotne zwraca false
wartość , co powoduje DrawImage kontynuowanie metody, a przykład rysuje dostosowany obraz na ekran.
// Define DrawImageAbort callback method.
private:
bool DrawImageCallback4( IntPtr callBackData )
{
// Test for call that passes callBackData parameter.
if ( callBackData == IntPtr::Zero )
{
// If no callBackData passed, abort DrawImage method.
return true;
}
else
{
// If callBackData passed, continue DrawImage method.
return false;
}
}
private:
void DrawImageParaFRectAttribAbortData( PaintEventArgs^ e )
{
// Create callback method.
Graphics::DrawImageAbort^ imageCallback = gcnew Graphics::DrawImageAbort( this, &Form1::DrawImageCallback4 );
int imageCallbackData = 1;
// Create image.
Image^ newImage = Image::FromFile( "SampImag.jpg" );
// Create parallelogram for drawing original image.
PointF ulCorner1 = PointF(100.0F,100.0F);
PointF urCorner1 = PointF(325.0F,100.0F);
PointF llCorner1 = PointF(150.0F,250.0F);
array<PointF>^ destPara1 = {ulCorner1,urCorner1,llCorner1};
// Create rectangle for source image.
RectangleF srcRect = RectangleF(50.0F,50.0F,150.0F,150.0F);
GraphicsUnit units = GraphicsUnit::Pixel;
// Create parallelogram for drawing adjusted image.
PointF ulCorner2 = PointF(325.0F,100.0F);
PointF urCorner2 = PointF(550.0F,100.0F);
PointF llCorner2 = PointF(375.0F,250.0F);
array<PointF>^ destPara2 = {ulCorner2,urCorner2,llCorner2};
// Draw original image to screen.
e->Graphics->DrawImage( newImage, destPara1, srcRect, units );
// Create image attributes and set large gamma.
ImageAttributes^ imageAttr = gcnew ImageAttributes;
imageAttr->SetGamma( 4.0F );
try
{
// Draw adjusted image to screen.
e->Graphics->DrawImage( newImage, destPara2, srcRect, units, imageAttr, imageCallback, imageCallbackData );
}
catch ( Exception^ ex )
{
e->Graphics->DrawString( ex->ToString(), gcnew System::Drawing::Font( "Arial",8 ), Brushes::Black, PointF(0,0) );
}
}
// Define DrawImageAbort callback method.
private bool DrawImageCallback4(IntPtr callBackData)
{
// Test for call that passes callBackData parameter.
if(callBackData==IntPtr.Zero)
{
// If no callBackData passed, abort DrawImage method.
return true;
}
else
{
// If callBackData passed, continue DrawImage method.
return false;
}
}
private void DrawImageParaFRectAttribAbortData(PaintEventArgs e)
{
// Create callback method.
Graphics.DrawImageAbort imageCallback
= new Graphics.DrawImageAbort(DrawImageCallback4);
int imageCallbackData = 1;
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create parallelogram for drawing original image.
PointF ulCorner1 = new PointF(100.0F, 100.0F);
PointF urCorner1 = new PointF(325.0F, 100.0F);
PointF llCorner1 = new PointF(150.0F, 250.0F);
PointF[] destPara1 = {ulCorner1, urCorner1, llCorner1};
// Create rectangle for source image.
RectangleF srcRect = new RectangleF(50.0F, 50.0F, 150.0F, 150.0F);
GraphicsUnit units = GraphicsUnit.Pixel;
// Create parallelogram for drawing adjusted image.
PointF ulCorner2 = new PointF(325.0F, 100.0F);
PointF urCorner2 = new PointF(550.0F, 100.0F);
PointF llCorner2 = new PointF(375.0F, 250.0F);
PointF[] destPara2 = {ulCorner2, urCorner2, llCorner2};
// Draw original image to screen.
e.Graphics.DrawImage(newImage, destPara1, srcRect, units);
// Create image attributes and set large gamma.
ImageAttributes imageAttr = new ImageAttributes();
imageAttr.SetGamma(4.0F);
try
{
checked
{
// Draw adjusted image to screen.
e.Graphics.DrawImage(
newImage,
destPara2,
srcRect,
units,
imageAttr,
imageCallback,
imageCallbackData);
}
}
catch (Exception ex)
{
e.Graphics.DrawString(
ex.ToString(),
new Font("Arial", 8),
Brushes.Black,
new PointF(0, 0));
}
}
Private Function DrawImageCallback4(ByVal callBackData As IntPtr) As Boolean
' Test for call that passes callBackData parameter.
If callBackData.Equals(IntPtr.Zero) Then
' If no callBackData passed, abort DrawImage method.
Return True
Else
' If callBackData passed, continue DrawImage method.
Return False
End If
End Function
Private Sub DrawImageParaFRectAttribAbortData(ByVal e As PaintEventArgs)
' Create callback method.
Dim imageCallback As New _
Graphics.DrawImageAbort(AddressOf DrawImageCallback4)
Dim imageCallbackData As Integer = 1
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create parallelogram for drawing original image.
Dim ulCorner1 As New PointF(100.0F, 100.0F)
Dim urCorner1 As New PointF(325.0F, 100.0F)
Dim llCorner1 As New PointF(150.0F, 250.0F)
Dim destPara1 As PointF() = {ulCorner1, urCorner1, llCorner1}
' Create rectangle for source image.
Dim srcRect As New RectangleF(50.0F, 50.0F, 150.0F, 150.0F)
Dim units As GraphicsUnit = GraphicsUnit.Pixel
' Create parallelogram for drawing adjusted image.
Dim ulCorner2 As New PointF(325.0F, 100.0F)
Dim urCorner2 As New PointF(550.0F, 100.0F)
Dim llCorner2 As New PointF(375.0F, 250.0F)
Dim destPara2 As PointF() = {ulCorner2, urCorner2, llCorner2}
' Draw original image to screen.
e.Graphics.DrawImage(newImage, destPara1, srcRect, units)
' Create image attributes and set large gamma.
Dim imageAttr As New ImageAttributes
imageAttr.SetGamma(4.0F)
Try
' Draw adjusted image to screen.
e.Graphics.DrawImage(newImage, destPara2, srcRect, units, _
imageAttr, imageCallback, imageCallbackData)
Catch ex As Exception
e.Graphics.DrawString(ex.ToString(), New Font("Arial", 8), _
Brushes.Black, New PointF(0, 0))
End Try
End Sub
Uwagi
Parametr destPoints
określa trzy punkty parallelogramu. Trzy PointF struktury reprezentują lewy górny, prawy górny i lewy dolny róg równoległogramu. Czwarty punkt jest ekstrapolowany z pierwszych trzech do utworzenia równoległegoogramu.
Parametr srcRect
określa prostokątną część image
obiektu do rysowania. Ta część jest skalowana i sznana w celu dopasowania do równoległegoogramu określonego destPoints
przez parametr .
To przeciążenie za pomocą callback
parametrów i callbackData
umożliwia zatrzymanie rysowania obrazu po uruchomieniu go zgodnie z kryteriami i danymi określonymi przez aplikację. Na przykład aplikacja może rozpocząć rysowanie dużego obrazu, a użytkownik może przewinąć obraz z ekranu, w tym przypadku aplikacja może zatrzymać rysunek.
Zobacz też
Dotyczy
DrawImage(Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit)
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.
public:
void DrawImage(System::Drawing::Image ^ image, System::Drawing::Rectangle destRect, int srcX, int srcY, int srcWidth, int srcHeight, System::Drawing::GraphicsUnit srcUnit);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, int srcX, int srcY, int srcWidth, int srcHeight, System.Drawing.GraphicsUnit srcUnit);
member this.DrawImage : System.Drawing.Image * System.Drawing.Rectangle * int * int * int * int * System.Drawing.GraphicsUnit -> unit
Public Sub DrawImage (image As Image, destRect As Rectangle, srcX As Integer, srcY As Integer, srcWidth As Integer, srcHeight As Integer, srcUnit As GraphicsUnit)
Parametry
- destRect
- Rectangle
Rectangle struktura określająca lokalizację i rozmiar narysowanego obrazu. Obraz jest skalowany w celu dopasowania do prostokąta.
- srcX
- Int32
Współrzędna x lewego górnego rogu części obrazu źródłowego do rysowania.
- srcY
- Int32
Współrzędna y lewego górnego rogu części obrazu źródłowego do rysowania.
- srcWidth
- Int32
Szerokość części obrazu źródłowego do rysowania.
- srcHeight
- Int32
Wysokość części obrazu źródłowego do rysowania.
- srcUnit
- GraphicsUnit
Element członkowski GraphicsUnit wyliczenia, który określa jednostki miary używane do określania prostokąta źródłowego.
Wyjątki
image
to null
.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
parametru Paint programu obsługi zdarzeń. Kod wykonuje następujące akcje:
Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.
Tworzy prostokąt docelowy, w którym ma być rysowanie obrazu.
Tworzy współrzędne prostokąta źródłowego, z którego ma być wyodrębniony fragment obrazu.
Ustawia jednostkę miary prostokąta źródłowego na piksele.
Rysuje obraz na ekran.
Położenie prostokąta docelowego lokalizuje obraz na ekranie, a rozmiary prostokątów źródłowych i docelowych określają skalowanie narysowanego obrazu, a rozmiar prostokąta źródłowego określa, jaka część oryginalnego obrazu jest rysowana na ekranie.
void DrawImageRect4Int( PaintEventArgs^ e )
{
// Create image.
Image^ newImage = Image::FromFile( "SampImag.jpg" );
// Create rectangle for displaying image.
Rectangle destRect = Rectangle(100,100,450,150);
// Create coordinates of rectangle for source image.
int x = 50;
int y = 50;
int width = 150;
int height = 150;
GraphicsUnit units = GraphicsUnit::Pixel;
// Draw image to screen.
e->Graphics->DrawImage( newImage, destRect, x, y, width, height, units );
}
private void DrawImageRect4Int(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create rectangle for displaying image.
Rectangle destRect = new Rectangle(100, 100, 450, 150);
// Create coordinates of rectangle for source image.
int x = 50;
int y = 50;
int width = 150;
int height = 150;
GraphicsUnit units = GraphicsUnit.Pixel;
// Draw image to screen.
e.Graphics.DrawImage(newImage, destRect, x, y, width, height, units);
}
Private Sub DrawImageRect4Int(ByVal e As PaintEventArgs)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create rectangle for displaying image.
Dim destRect As New Rectangle(100, 100, 450, 150)
' Create coordinates of rectangle for source image.
Dim x As Integer = 50
Dim y As Integer = 50
Dim width As Integer = 150
Dim height As Integer = 150
Dim units As GraphicsUnit = GraphicsUnit.Pixel
' Draw image to screen.
e.Graphics.DrawImage(newImage, destRect, x, y, width, height, _
units)
End Sub
Uwagi
Parametry srcX
, , srcWidth
srcY
i srcHeight
określają prostokątną część obiektu do image
rysowania. Prostokąt jest powiązany z lewym górnym róg obrazu źródłowego. Ta część jest skalowana w celu dopasowania do prostokąta określonego destRect
przez parametr .
Zobacz też
Dotyczy
DrawImage(Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit, ImageAttributes)
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.
public:
void DrawImage(System::Drawing::Image ^ image, System::Drawing::Rectangle destRect, int srcX, int srcY, int srcWidth, int srcHeight, System::Drawing::GraphicsUnit srcUnit, System::Drawing::Imaging::ImageAttributes ^ imageAttr);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, int srcX, int srcY, int srcWidth, int srcHeight, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes imageAttr);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, int srcX, int srcY, int srcWidth, int srcHeight, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes? imageAttr);
member this.DrawImage : System.Drawing.Image * System.Drawing.Rectangle * int * int * int * int * System.Drawing.GraphicsUnit * System.Drawing.Imaging.ImageAttributes -> unit
Public Sub DrawImage (image As Image, destRect As Rectangle, srcX As Integer, srcY As Integer, srcWidth As Integer, srcHeight As Integer, srcUnit As GraphicsUnit, imageAttr As ImageAttributes)
Parametry
- destRect
- Rectangle
Rectangle struktura określająca lokalizację i rozmiar narysowanego obrazu. Obraz jest skalowany w celu dopasowania do prostokąta.
- srcX
- Int32
Współrzędna x lewego górnego rogu części obrazu źródłowego do rysowania.
- srcY
- Int32
Współrzędna y lewego górnego rogu części obrazu źródłowego do rysowania.
- srcWidth
- Int32
Szerokość części obrazu źródłowego do rysowania.
- srcHeight
- Int32
Wysokość części obrazu źródłowego do rysowania.
- srcUnit
- GraphicsUnit
Element członkowski GraphicsUnit wyliczenia, który określa jednostki miary używane do określania prostokąta źródłowego.
- imageAttr
- ImageAttributes
ImageAttributes określa ponowne kolorowanie i informacje gamma dla image
obiektu.
Wyjątki
image
to null
.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
parametru Paint programu obsługi zdarzeń. Kod wykonuje następujące akcje:
Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.
Tworzy prostokąt docelowy, w którym ma być rysowanie obrazu.
Tworzy współrzędne prostokąta źródłowego, z którego ma być wyodrębniony fragment obrazu.
Ustawia jednostkę miary prostokąta źródłowego na piksele.
Rysuje oryginalny obraz na ekran.
Tworzy dodatkowy prostokąt, w którym ma być rysowany dostosowany obraz.
Tworzy i ustawia atrybuty dostosowanego obrazu, aby mieć większą niż zwykle wartość gamma.
Rysuje dostosowany obraz do ekranu.
W przypadku oryginalnego, nieokreślonego prostokąta docelowego pozycja lokalizuje obraz na ekranie, a rozmiary prostokątów źródłowych i docelowych określają skalowanie narysowanego obrazu, a rozmiar prostokąta źródłowego określa, która część oryginalnego obrazu jest rysowana na ekranie.
void DrawImageRect4IntAtrrib( PaintEventArgs^ e )
{
// Create image.
Image^ newImage = Image::FromFile( "SampImag.jpg" );
// Create rectangle for displaying original image.
Rectangle destRect1 = Rectangle(100,25,450,150);
// Create coordinates of rectangle for source image.
int x = 50;
int y = 50;
int width = 150;
int height = 150;
GraphicsUnit units = GraphicsUnit::Pixel;
// Draw original image to screen.
e->Graphics->DrawImage( newImage, destRect1, x, y, width, height, units );
// Create rectangle for adjusted image.
Rectangle destRect2 = Rectangle(100,175,450,150);
// Create image attributes and set large gamma.
ImageAttributes^ imageAttr = gcnew ImageAttributes;
imageAttr->SetGamma( 4.0F );
// Draw adjusted image to screen.
e->Graphics->DrawImage( newImage, destRect2, x, y, width, height, units, imageAttr );
}
private void DrawImageRect4IntAtrrib(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create rectangle for displaying original image.
Rectangle destRect1 = new Rectangle(100, 25, 450, 150);
// Create coordinates of rectangle for source image.
int x = 50;
int y = 50;
int width = 150;
int height = 150;
GraphicsUnit units = GraphicsUnit.Pixel;
// Draw original image to screen.
e.Graphics.DrawImage(newImage, destRect1, x, y, width, height, units);
// Create rectangle for adjusted image.
Rectangle destRect2 = new Rectangle(100, 175, 450, 150);
// Create image attributes and set large gamma.
ImageAttributes imageAttr = new ImageAttributes();
imageAttr.SetGamma(4.0F);
// Draw adjusted image to screen.
e.Graphics.DrawImage(newImage, destRect2, x, y, width, height, units, imageAttr);
}
Private Sub DrawImageRect4IntAtrrib(ByVal e As PaintEventArgs)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create rectangle for displaying original image.
Dim destRect1 As New Rectangle(100, 25, 450, 150)
' Create coordinates of rectangle for source image.
Dim x As Integer = 50
Dim y As Integer = 50
Dim width As Integer = 150
Dim height As Integer = 150
Dim units As GraphicsUnit = GraphicsUnit.Pixel
' Draw original image to screen.
e.Graphics.DrawImage(newImage, destRect1, x, y, width, height, _
units)
' Create rectangle for adjusted image.
Dim destRect2 As New Rectangle(100, 175, 450, 150)
' Create image attributes and set large gamma.
Dim imageAttr As New ImageAttributes
imageAttr.SetGamma(4.0F)
' Draw adjusted image to screen.
e.Graphics.DrawImage(newImage, destRect2, x, y, width, height, _
units, imageAttr)
End Sub
Uwagi
Parametry srcX
, , srcWidth
srcY
i srcHeight
określają prostokątną część obiektu do image
rysowania. Prostokąt jest powiązany z lewym górnym róg obrazu źródłowego. Ta część jest skalowana w celu dopasowania do prostokąta określonego destRect
przez parametr .
Zobacz też
Dotyczy
DrawImage(Image, Rectangle, Single, Single, Single, Single, GraphicsUnit, ImageAttributes)
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.
public:
void DrawImage(System::Drawing::Image ^ image, System::Drawing::Rectangle destRect, float srcX, float srcY, float srcWidth, float srcHeight, System::Drawing::GraphicsUnit srcUnit, System::Drawing::Imaging::ImageAttributes ^ imageAttrs);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, float srcX, float srcY, float srcWidth, float srcHeight, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes imageAttrs);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, float srcX, float srcY, float srcWidth, float srcHeight, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes? imageAttrs);
member this.DrawImage : System.Drawing.Image * System.Drawing.Rectangle * single * single * single * single * System.Drawing.GraphicsUnit * System.Drawing.Imaging.ImageAttributes -> unit
Public Sub DrawImage (image As Image, destRect As Rectangle, srcX As Single, srcY As Single, srcWidth As Single, srcHeight As Single, srcUnit As GraphicsUnit, imageAttrs As ImageAttributes)
Parametry
- destRect
- Rectangle
Rectangle struktura określająca lokalizację i rozmiar narysowanego obrazu. Obraz jest skalowany w celu dopasowania do prostokąta.
- srcX
- Single
Współrzędna x lewego górnego rogu części obrazu źródłowego do rysowania.
- srcY
- Single
Współrzędna y lewego górnego rogu części obrazu źródłowego do rysowania.
- srcWidth
- Single
Szerokość części obrazu źródłowego do rysowania.
- srcHeight
- Single
Wysokość części obrazu źródłowego do rysowania.
- srcUnit
- GraphicsUnit
Element członkowski GraphicsUnit wyliczenia, który określa jednostki miary używane do określania prostokąta źródłowego.
- imageAttrs
- ImageAttributes
ImageAttributes określa ponowne kolorowanie i informacje gamma dla image
obiektu.
Wyjątki
image
to null
.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
parametru Paint programu obsługi zdarzeń. Kod wykonuje następujące akcje:
Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.
Tworzy prostokąt docelowy, w którym ma być rysowanie obrazu.
Tworzy współrzędne prostokąta źródłowego, z którego ma być wyodrębniony fragment obrazu.
Ustawia jednostkę miary prostokąta źródłowego na piksele.
Rysuje oryginalny obraz na ekran.
Tworzy dodatkowy prostokąt, w którym ma być rysowany dostosowany obraz.
Tworzy i ustawia atrybuty dostosowanego obrazu, aby mieć większą niż zwykle wartość gamma.
Rysuje dostosowany obraz do ekranu.
W przypadku oryginalnego, nieokreślonego prostokąta docelowego pozycja lokalizuje obraz na ekranie, a rozmiary prostokątów źródłowych i docelowych określają skalowanie narysowanego obrazu, a rozmiar prostokąta źródłowego określa, która część oryginalnego obrazu jest rysowana na ekranie.
private:
void DrawImageRect4FloatAttrib( PaintEventArgs^ e )
{
// Create image.
Image^ newImage = Image::FromFile( "SampImag.jpg" );
// Create rectangle for displaying original image.
Rectangle destRect1 = Rectangle(100,25,450,150);
// Create coordinates of rectangle for source image.
float x = 50.0F;
float y = 50.0F;
float width = 150.0F;
float height = 150.0F;
GraphicsUnit units = GraphicsUnit::Pixel;
// Draw original image to screen.
e->Graphics->DrawImage( newImage, destRect1, x, y, width, height, units );
// Create rectangle for adjusted image.
Rectangle destRect2 = Rectangle(100,175,450,150);
// Create image attributes and set large gamma.
ImageAttributes^ imageAttr = gcnew ImageAttributes;
imageAttr->SetGamma( 4.0F );
// Draw adjusted image to screen.
e->Graphics->DrawImage( newImage, destRect2, x, y, width, height, units, imageAttr );
}
private void DrawImageRect4FloatAttrib(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create rectangle for displaying original image.
Rectangle destRect1 = new Rectangle(100, 25, 450, 150);
// Create coordinates of rectangle for source image.
float x = 50.0F;
float y = 50.0F;
float width = 150.0F;
float height = 150.0F;
GraphicsUnit units = GraphicsUnit.Pixel;
// Draw original image to screen.
e.Graphics.DrawImage(newImage, destRect1, x, y, width, height, units);
// Create rectangle for adjusted image.
Rectangle destRect2 = new Rectangle(100, 175, 450, 150);
// Create image attributes and set large gamma.
ImageAttributes imageAttr = new ImageAttributes();
imageAttr.SetGamma(4.0F);
// Draw adjusted image to screen.
e.Graphics.DrawImage(newImage, destRect2, x, y, width, height, units, imageAttr);
}
Private Sub DrawImageRect4FloatAttrib(ByVal e As PaintEventArgs)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create rectangle for displaying original image.
Dim destRect1 As New Rectangle(100, 25, 450, 150)
' Create coordinates of rectangle for source image.
Dim x As Single = 50.0F
Dim y As Single = 50.0F
Dim width As Single = 150.0F
Dim height As Single = 150.0F
Dim units As GraphicsUnit = GraphicsUnit.Pixel
' Draw original image to screen.
e.Graphics.DrawImage(newImage, destRect1, x, y, width, _
height, units)
' Create rectangle for adjusted image.
Dim destRect2 As New Rectangle(100, 175, 450, 150)
' Create image attributes and set large gamma.
Dim imageAttr As New ImageAttributes
imageAttr.SetGamma(4.0F)
' Draw adjusted image to screen.
e.Graphics.DrawImage(newImage, destRect2, x, y, width, height, _
units, imageAttr)
End Sub
Uwagi
Parametry srcX
, , srcWidth
srcY
i srcHeight
określają prostokątną część obiektu do image
rysowania. Prostokąt jest powiązany z lewym górnym róg obrazu źródłowego. Ta część jest skalowana w celu dopasowania do prostokąta określonego destRect
przez parametr .
Zobacz też
Dotyczy
DrawImage(Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort)
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.
public:
void DrawImage(System::Drawing::Image ^ image, System::Drawing::Rectangle destRect, int srcX, int srcY, int srcWidth, int srcHeight, System::Drawing::GraphicsUnit srcUnit, System::Drawing::Imaging::ImageAttributes ^ imageAttr, System::Drawing::Graphics::DrawImageAbort ^ callback);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, int srcX, int srcY, int srcWidth, int srcHeight, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes imageAttr, System.Drawing.Graphics.DrawImageAbort callback);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, int srcX, int srcY, int srcWidth, int srcHeight, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes? imageAttr, System.Drawing.Graphics.DrawImageAbort? callback);
member this.DrawImage : System.Drawing.Image * System.Drawing.Rectangle * int * int * int * int * System.Drawing.GraphicsUnit * System.Drawing.Imaging.ImageAttributes * System.Drawing.Graphics.DrawImageAbort -> unit
Public Sub DrawImage (image As Image, destRect As Rectangle, srcX As Integer, srcY As Integer, srcWidth As Integer, srcHeight As Integer, srcUnit As GraphicsUnit, imageAttr As ImageAttributes, callback As Graphics.DrawImageAbort)
Parametry
- destRect
- Rectangle
Rectangle struktura określająca lokalizację i rozmiar rysunkowego obrazu. Obraz jest skalowany w celu dopasowania do prostokąta.
- srcX
- Int32
Współrzędna x lewego górnego rogu części obrazu źródłowego do rysowania.
- srcY
- Int32
Współrzędna y lewego górnego rogu części obrazu źródłowego do rysowania.
- srcWidth
- Int32
Szerokość części obrazu źródłowego do narysowania.
- srcHeight
- Int32
Wysokość części obrazu źródłowego do rysowania.
- srcUnit
- GraphicsUnit
Element członkowski wyliczenia GraphicsUnit , który określa jednostki miary używane do określania prostokąta źródłowego.
- imageAttr
- ImageAttributes
ImageAttributesktóry określa ponowne kolorowanie i informacje gamma dla .image
- callback
- Graphics.DrawImageAbort
Graphics.DrawImageAbort delegate, który określa metodę wywołania podczas rysunku obrazu. Ta metoda jest często wywoływana w celu sprawdzenia, czy zatrzymać wykonywanie DrawImage(Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort) metody zgodnie z kryteriami określonymi przez aplikację.
Wyjątki
image
to null
.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
parametru Paint programu obsługi zdarzeń. Kod najpierw definiuje metodę wywołania zwrotnego dla delegata Graphics.DrawImageAbort . Definicja jest uproszczona i jedynie testuje, czy DrawImage metoda wywołuje ją za pomocą parametru null callBackData
. Główna treść przykładu wykonuje następujące akcje:
Tworzy wystąpienie metody wywołania zwrotnego Graphics.DrawImageAbort .
Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.
Tworzy punkty definiujące prostokąt docelowy, w którym ma być rysowanie obrazu.
Tworzy prostokąt źródłowy, aby wybrać część obrazu do rysowania.
Ustawia jednostkę rysunku graficznego na piksel.
Rysuje oryginalny obraz na ekran.
Tworzy dodatkowy prostokąt docelowy, w którym ma być rysowany dostosowany obraz.
Tworzy i ustawia atrybuty dostosowanego obrazu, aby mieć większą niż zwykle wartość gamma.
Rysuje dostosowany obraz do ekranu.
W przypadku oryginalnego, nieokreślonego prostokąta docelowego pozycja lokalizuje obraz na ekranie, a rozmiar prostokąta źródłowego oraz rozmiar i kształt prostokąta docelowego określają skalowanie narysowanego obrazu.
Ponieważ w tym przykładzie użyto przeciążenia, które nie przekazuje parametru callBackData
, Graphics.DrawImageAbort wywołanie zwrotne zwraca true
wartość , co powoduje DrawImage zakończenie metody, a kod obsługi wyjątków zawarty w przykładzie wyświetla tekst wyjątku, a nie rysuje obrazu.
// Define DrawImageAbort callback method.
private:
bool DrawImageCallback5( IntPtr callBackData )
{
// Test for call that passes callBackData parameter.
if ( callBackData == IntPtr::Zero )
{
// If no callBackData passed, abort DrawImage method.
return true;
}
else
{
// If callBackData passed, continue DrawImage method.
return false;
}
}
private:
void DrawImageRect4IntAtrribAbort( PaintEventArgs^ e )
{
// Create callback method.
Graphics::DrawImageAbort^ imageCallback = gcnew Graphics::DrawImageAbort( this, &Form1::DrawImageCallback5 );
// Create image.
Image^ newImage = Image::FromFile( "SampImag.jpg" );
// Create rectangle for displaying original image.
Rectangle destRect1 = Rectangle(100,25,450,150);
// Create coordinates of rectangle for source image.
int x = 50;
int y = 50;
int width = 150;
int height = 150;
GraphicsUnit units = GraphicsUnit::Pixel;
// Draw original image to screen.
e->Graphics->DrawImage( newImage, destRect1, x, y, width, height, units );
// Create rectangle for adjusted image.
Rectangle destRect2 = Rectangle(100,175,450,150);
// Create image attributes and set large gamma.
ImageAttributes^ imageAttr = gcnew ImageAttributes;
imageAttr->SetGamma( 4.0F );
try
{
// Draw adjusted image to screen.
e->Graphics->DrawImage( newImage, destRect2, x, y, width, height, units, imageAttr, imageCallback );
}
catch ( Exception^ ex )
{
e->Graphics->DrawString( ex->ToString(), gcnew System::Drawing::Font( "Arial",8 ), Brushes::Black, PointF(0,0) );
}
}
// Define DrawImageAbort callback method.
private bool DrawImageCallback5(IntPtr callBackData)
{
// Test for call that passes callBackData parameter.
if(callBackData==IntPtr.Zero)
{
// If no callBackData passed, abort DrawImage method.
return true;
}
else
{
// If callBackData passed, continue DrawImage method.
return false;
}
}
private void DrawImageRect4IntAtrribAbort(PaintEventArgs e)
{
// Create callback method.
Graphics.DrawImageAbort imageCallback
= new Graphics.DrawImageAbort(DrawImageCallback5);
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create rectangle for displaying original image.
Rectangle destRect1 = new Rectangle(100, 25, 450, 150);
// Create coordinates of rectangle for source image.
int x = 50;
int y = 50;
int width = 150;
int height = 150;
GraphicsUnit units = GraphicsUnit.Pixel;
// Draw original image to screen.
e.Graphics.DrawImage(newImage, destRect1, x, y, width, height, units);
// Create rectangle for adjusted image.
Rectangle destRect2 = new Rectangle(100, 175, 450, 150);
// Create image attributes and set large gamma.
ImageAttributes imageAttr = new ImageAttributes();
imageAttr.SetGamma(4.0F);
try
{
checked
{
// Draw adjusted image to screen.
e.Graphics.DrawImage(
newImage,
destRect2,
x, y,
width, height,
units,
imageAttr,
imageCallback);
}
}
catch (Exception ex)
{
e.Graphics.DrawString(
ex.ToString(),
new Font("Arial", 8),
Brushes.Black,
new PointF(0, 0));
}
}
Private Function DrawImageCallback5(ByVal callBackData As IntPtr) As Boolean
' Test for call that passes callBackData parameter.
If callBackData.Equals(IntPtr.Zero) Then
' If no callBackData passed, abort DrawImage method.
Return True
Else
' If callBackData passed, continue DrawImage method.
Return False
End If
End Function
Private Sub DrawImageRect4IntAtrribAbort(ByVal e As PaintEventArgs)
' Create callback method.
Dim imageCallback As New _
Graphics.DrawImageAbort(AddressOf DrawImageCallback5)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create rectangle for displaying original image.
Dim destRect1 As New Rectangle(100, 25, 450, 150)
' Create coordinates of rectangle for source image.
Dim x As Integer = 50
Dim y As Integer = 50
Dim width As Integer = 150
Dim height As Integer = 150
Dim units As GraphicsUnit = GraphicsUnit.Pixel
' Draw original image to screen.
e.Graphics.DrawImage(newImage, destRect1, x, y, width, height, _
units)
' Create rectangle for adjusted image.
Dim destRect2 As New Rectangle(100, 175, 450, 150)
' Create image attributes and set large gamma.
Dim imageAttr As New ImageAttributes
imageAttr.SetGamma(4.0F)
Try
' Draw adjusted image to screen.
e.Graphics.DrawImage(newImage, destRect2, x, y, width, _
height, units, imageAttr, imageCallback)
Catch ex As Exception
e.Graphics.DrawString(ex.ToString(), New Font("Arial", 8), _
Brushes.Black, New PointF(0, 0))
End Try
End Sub
Uwagi
Parametry srcX
, srcY
, srcWidth
i srcHeight
określają prostokątną część obiektu do image
rysowania. Prostokąt jest względny względem lewego górnego rogu obrazu źródłowego. Ta część jest skalowana w celu dopasowania do prostokąta określonego destRect
przez obiekt.
To przeciążenie za pomocą parametru callback
zapewnia metodę zatrzymania rysunku obrazu po uruchomieniu zgodnie z kryteriami określonymi przez aplikację. Na przykład aplikacja może rozpocząć rysowanie dużego obrazu, a użytkownik może przewijać obraz z ekranu, w tym przypadku aplikacja może zatrzymać rysunek.
Zobacz też
Dotyczy
DrawImage(Image, Rectangle, Single, Single, Single, Single, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort)
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.
public:
void DrawImage(System::Drawing::Image ^ image, System::Drawing::Rectangle destRect, float srcX, float srcY, float srcWidth, float srcHeight, System::Drawing::GraphicsUnit srcUnit, System::Drawing::Imaging::ImageAttributes ^ imageAttrs, System::Drawing::Graphics::DrawImageAbort ^ callback);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, float srcX, float srcY, float srcWidth, float srcHeight, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes imageAttrs, System.Drawing.Graphics.DrawImageAbort callback);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, float srcX, float srcY, float srcWidth, float srcHeight, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes? imageAttrs, System.Drawing.Graphics.DrawImageAbort? callback);
member this.DrawImage : System.Drawing.Image * System.Drawing.Rectangle * single * single * single * single * System.Drawing.GraphicsUnit * System.Drawing.Imaging.ImageAttributes * System.Drawing.Graphics.DrawImageAbort -> unit
Public Sub DrawImage (image As Image, destRect As Rectangle, srcX As Single, srcY As Single, srcWidth As Single, srcHeight As Single, srcUnit As GraphicsUnit, imageAttrs As ImageAttributes, callback As Graphics.DrawImageAbort)
Parametry
- destRect
- Rectangle
Rectangle struktura określająca lokalizację i rozmiar rysunkowego obrazu. Obraz jest skalowany w celu dopasowania do prostokąta.
- srcX
- Single
Współrzędna x lewego górnego rogu części obrazu źródłowego do rysowania.
- srcY
- Single
Współrzędna y lewego górnego rogu części obrazu źródłowego do rysowania.
- srcWidth
- Single
Szerokość części obrazu źródłowego do narysowania.
- srcHeight
- Single
Wysokość części obrazu źródłowego do rysowania.
- srcUnit
- GraphicsUnit
Element członkowski wyliczenia GraphicsUnit , który określa jednostki miary używane do określania prostokąta źródłowego.
- imageAttrs
- ImageAttributes
ImageAttributes określa ponowne kolorowanie i informacje gamma dla image
obiektu.
- callback
- Graphics.DrawImageAbort
Graphics.DrawImageAbort delegate, który określa metodę wywołania podczas rysunku obrazu. Ta metoda jest często wywoływana w celu sprawdzenia, czy zatrzymać wykonywanie DrawImage(Image, Rectangle, Single, Single, Single, Single, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort) metody zgodnie z kryteriami określonymi przez aplikację.
Wyjątki
image
to null
.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
parametru Paint programu obsługi zdarzeń. Kod najpierw definiuje metodę wywołania zwrotnego dla Graphics.DrawImageAbort delegata. Definicja jest uproszczona i jedynie sprawdza, czy DrawImage metoda wywołuje ją za pomocą parametru null callBackData
. Główna treść przykładu wykonuje następujące akcje:
Tworzy wystąpienie Graphics.DrawImageAbort metody wywołania zwrotnego.
Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.
Tworzy punkty definiujące prostokąt docelowy, w którym ma być rysowanie obrazu.
Tworzy prostokąt źródłowy, aby wybrać część obrazu do narysowania.
Ustawia jednostkę rysunku grafiki na piksel.
Rysuje oryginalny obraz na ekran.
Tworzy dodatkowy prostokąt docelowy, w którym ma być narysowany obraz.
Tworzy i ustawia atrybuty dostosowanego obrazu, aby mieć większą niż zwykle wartość gamma.
Rysuje dostosowany obraz do ekranu.
W przypadku oryginalnego, nieokreślonego prostokąta docelowego pozycja lokalizuje obraz na ekranie, a rozmiar prostokąta źródłowego oraz rozmiar i kształt prostokąta docelowego określa skalowanie rysunkowego obrazu.
Ponieważ w tym przykładzie użyto przeciążenia, które nie przekazuje parametru callBackData
, Graphics.DrawImageAbort wywołanie zwrotne zwraca true
wartość , co powoduje DrawImage zakończenie metody, a kod obsługi wyjątków zawarty w przykładzie wyświetla tekst wyjątku, a nie rysuje obrazu.
// Define DrawImageAbort callback method.
private:
bool DrawImageCallback7( IntPtr callBackData )
{
// Test for call that passes callBackData parameter.
if ( callBackData == IntPtr::Zero )
{
// If no callBackData passed, abort DrawImage method.
return true;
}
else
{
// If callBackData passed, continue DrawImage method.
return false;
}
}
private:
void DrawImageRect4FloatAttribAbort( PaintEventArgs^ e )
{
// Create callback method.
Graphics::DrawImageAbort^ imageCallback = gcnew Graphics::DrawImageAbort( this, &Form1::DrawImageCallback7 );
// Create image.
Image^ newImage = Image::FromFile( "SampImag.jpg" );
// Create rectangle for displaying original image.
Rectangle destRect1 = Rectangle(100,25,450,150);
// Create coordinates of rectangle for source image.
float x = 50.0F;
float y = 50.0F;
float width = 150.0F;
float height = 150.0F;
GraphicsUnit units = GraphicsUnit::Pixel;
// Draw original image to screen.
e->Graphics->DrawImage( newImage, destRect1, x, y, width, height, units );
// Create rectangle for adjusted image.
Rectangle destRect2 = Rectangle(100,175,450,150);
// Create image attributes and set large gamma.
ImageAttributes^ imageAttr = gcnew ImageAttributes;
imageAttr->SetGamma( 4.0F );
try
{
// Draw adjusted image to screen.
e->Graphics->DrawImage( newImage, destRect2, x, y, width, height, units, imageAttr, imageCallback );
}
catch ( Exception^ ex )
{
e->Graphics->DrawString( ex->ToString(), gcnew System::Drawing::Font( "Arial",8 ), Brushes::Black, PointF(0,0) );
}
}
// Define DrawImageAbort callback method.
private bool DrawImageCallback7(IntPtr callBackData)
{
// Test for call that passes callBackData parameter.
if(callBackData==IntPtr.Zero)
{
// If no callBackData passed, abort DrawImage method.
return true;
}
else
{
// If callBackData passed, continue DrawImage method.
return false;
}
}
private void DrawImageRect4FloatAttribAbort(PaintEventArgs e)
{
// Create callback method.
Graphics.DrawImageAbort imageCallback
= new Graphics.DrawImageAbort(DrawImageCallback7);
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create rectangle for displaying original image.
Rectangle destRect1 = new Rectangle(100, 25, 450, 150);
// Create coordinates of rectangle for source image.
float x = 50.0F;
float y = 50.0F;
float width = 150.0F;
float height = 150.0F;
GraphicsUnit units = GraphicsUnit.Pixel;
// Draw original image to screen.
e.Graphics.DrawImage(newImage, destRect1, x, y, width, height, units);
// Create rectangle for adjusted image.
Rectangle destRect2 = new Rectangle(100, 175, 450, 150);
// Create image attributes and set large gamma.
ImageAttributes imageAttr = new ImageAttributes();
imageAttr.SetGamma(4.0F);
try
{
checked
{
// Draw adjusted image to screen.
e.Graphics.DrawImage(
newImage,
destRect2,
x, y,
width, height,
units,
imageAttr,
imageCallback);
}
}
catch (Exception ex)
{
e.Graphics.DrawString(
ex.ToString(),
new Font("Arial", 8),
Brushes.Black,
new PointF(0, 0));
}
}
Private Function DrawImageCallback7(ByVal callBackData As IntPtr) As Boolean
' Test for call that passes callBackData parameter.
If callBackData.Equals(IntPtr.Zero) Then
' If no callBackData passed, abort DrawImage method.
Return True
Else
' If callBackData passed, continue DrawImage method.
Return False
End If
End Function
Private Sub DrawImageRect4FloatAttribAbort(ByVal e As PaintEventArgs)
' Create callback method.
Dim imageCallback As New _
Graphics.DrawImageAbort(AddressOf DrawImageCallback7)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create rectangle for displaying original image.
Dim destRect1 As New Rectangle(100, 25, 450, 150)
' Create coordinates of rectangle for source image.
Dim x As Single = 50.0F
Dim y As Single = 50.0F
Dim width As Single = 150.0F
Dim height As Single = 150.0F
Dim units As GraphicsUnit = GraphicsUnit.Pixel
' Draw original image to screen.
e.Graphics.DrawImage(newImage, destRect1, x, y, width, _
height, units)
' Create rectangle for adjusted image.
Dim destRect2 As New Rectangle(100, 175, 450, 150)
' Create image attributes and set large gamma.
Dim imageAttr As New ImageAttributes
imageAttr.SetGamma(4.0F)
Try
' Draw adjusted image to screen.
e.Graphics.DrawImage(newImage, destRect2, x, y, width, _
height, units, imageAttr, imageCallback)
Catch ex As Exception
e.Graphics.DrawString(ex.ToString(), New Font("Arial", 8), _
Brushes.Black, New PointF(0, 0))
End Try
End Sub
Uwagi
Parametry srcX
, srcY
, srcWidth
i srcHeight
określają prostokątną część obiektu do image
rysowania. Prostokąt jest względny względem lewego górnego rogu obrazu źródłowego. Ta część jest skalowana w celu dopasowania do prostokąta określonego destRect
przez parametr .
To przeciążenie za pomocą parametru callback
zapewnia metodę zatrzymania rysunku obrazu po uruchomieniu zgodnie z kryteriami określonymi przez aplikację. Na przykład aplikacja może rozpocząć rysowanie dużego obrazu, a użytkownik może przewijać obraz z ekranu, w tym przypadku aplikacja może zatrzymać rysunek.
Zobacz też
Dotyczy
DrawImage(Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, IntPtr)
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.
public:
void DrawImage(System::Drawing::Image ^ image, System::Drawing::Rectangle destRect, int srcX, int srcY, int srcWidth, int srcHeight, System::Drawing::GraphicsUnit srcUnit, System::Drawing::Imaging::ImageAttributes ^ imageAttrs, System::Drawing::Graphics::DrawImageAbort ^ callback, IntPtr callbackData);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, int srcX, int srcY, int srcWidth, int srcHeight, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes imageAttrs, System.Drawing.Graphics.DrawImageAbort callback, IntPtr callbackData);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, int srcX, int srcY, int srcWidth, int srcHeight, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes? imageAttrs, System.Drawing.Graphics.DrawImageAbort? callback, IntPtr callbackData);
member this.DrawImage : System.Drawing.Image * System.Drawing.Rectangle * int * int * int * int * System.Drawing.GraphicsUnit * System.Drawing.Imaging.ImageAttributes * System.Drawing.Graphics.DrawImageAbort * nativeint -> unit
Public Sub DrawImage (image As Image, destRect As Rectangle, srcX As Integer, srcY As Integer, srcWidth As Integer, srcHeight As Integer, srcUnit As GraphicsUnit, imageAttrs As ImageAttributes, callback As Graphics.DrawImageAbort, callbackData As IntPtr)
Parametry
- destRect
- Rectangle
Rectangle struktura określająca lokalizację i rozmiar rysunkowego obrazu. Obraz jest skalowany w celu dopasowania do prostokąta.
- srcX
- Int32
Współrzędna x lewego górnego rogu części obrazu źródłowego do rysowania.
- srcY
- Int32
Współrzędna y lewego górnego rogu części obrazu źródłowego do rysowania.
- srcWidth
- Int32
Szerokość części obrazu źródłowego do narysowania.
- srcHeight
- Int32
Wysokość części obrazu źródłowego do rysowania.
- srcUnit
- GraphicsUnit
Element członkowski wyliczenia GraphicsUnit , który określa jednostki miary używane do określania prostokąta źródłowego.
- imageAttrs
- ImageAttributes
ImageAttributes określa ponowne kolorowanie i informacje gamma dla image
obiektu.
- callback
- Graphics.DrawImageAbort
Graphics.DrawImageAbort delegate, który określa metodę wywołania podczas rysunku obrazu. Ta metoda jest często wywoływana w celu sprawdzenia, czy zatrzymać wykonywanie DrawImage(Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, IntPtr) metody zgodnie z kryteriami określonymi przez aplikację.
- callbackData
-
IntPtr
nativeint
Wartość określająca dodatkowe dane dla delegata Graphics.DrawImageAbort do użycia podczas sprawdzania DrawImage
, czy zatrzymać wykonywanie metody.
Wyjątki
image
to null
.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
parametru Paint programu obsługi zdarzeń. Kod najpierw definiuje metodę wywołania zwrotnego dla Graphics.DrawImageAbort delegata. Definicja jest uproszczona i jedynie sprawdza, czy DrawImage metoda wywołuje ją za pomocą parametru null callBackData
. Główna treść przykładu wykonuje następujące akcje:
Tworzy wystąpienie Graphics.DrawImageAbort metody wywołania zwrotnego.
Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.
Tworzy punkty definiujące prostokąt docelowy, w którym ma być rysowanie obrazu.
Tworzy prostokąt źródłowy, aby wybrać część obrazu do narysowania.
Ustawia jednostkę rysunku grafiki na piksel.
Rysuje oryginalny obraz na ekran.
Tworzy dodatkowy prostokąt docelowy, w którym ma być narysowany obraz.
Tworzy i ustawia atrybuty dostosowanego obrazu, aby mieć większą niż zwykle wartość gamma.
Rysuje dostosowany obraz do ekranu.
W przypadku oryginalnego, nieokreślonego prostokąta docelowego pozycja lokalizuje obraz na ekranie, a rozmiar prostokąta źródłowego oraz rozmiar i kształt prostokąta docelowego określa skalowanie rysunkowego obrazu.
Ponieważ w tym przykładzie użyto przeciążenia, które przekazuje callBackData
parametr, Graphics.DrawImageAbort wywołanie zwrotne zwraca false
wartość , co powoduje DrawImage kontynuowanie metody, a przykład rysuje dostosowany obraz na ekran.
// Define DrawImageAbort callback method.
private:
bool DrawImageCallback6( IntPtr callBackData )
{
// Test for call that passes callBackData parameter.
if ( callBackData == IntPtr::Zero )
{
// If no callBackData passed, abort DrawImage method.
return true;
}
else
{
// If callBackData passed, continue DrawImage method.
return false;
}
}
private:
void DrawImageRect4IntAtrribAbortData( PaintEventArgs^ e )
{
// Create callback method.
Graphics::DrawImageAbort^ imageCallback = gcnew Graphics::DrawImageAbort( this, &Form1::DrawImageCallback6 );
IntPtr imageCallbackData = IntPtr(1);
// Create image.
Image^ newImage = Image::FromFile( "SampImag.jpg" );
// Create rectangle for displaying original image.
Rectangle destRect1 = Rectangle(100,25,450,150);
// Create coordinates of rectangle for source image.
int x = 50;
int y = 50;
int width = 150;
int height = 150;
GraphicsUnit units = GraphicsUnit::Pixel;
// Draw original image to screen.
e->Graphics->DrawImage( newImage, destRect1, x, y, width, height, units );
// Create rectangle for adjusted image.
Rectangle destRect2 = Rectangle(100,175,450,150);
// Create image attributes and set large gamma.
ImageAttributes^ imageAttr = gcnew ImageAttributes;
imageAttr->SetGamma( 4.0F );
try
{
// Draw adjusted image to screen.
e->Graphics->DrawImage( newImage, destRect2, x, y, width, height, units, imageAttr, imageCallback, imageCallbackData );
}
catch ( Exception^ ex )
{
e->Graphics->DrawString( ex->ToString(), gcnew System::Drawing::Font( "Arial",8 ), Brushes::Black, PointF(0,0) );
}
}
// Define DrawImageAbort callback method.
private bool DrawImageCallback6(IntPtr callBackData)
{
// Test for call that passes callBackData parameter.
if(callBackData==IntPtr.Zero)
{
// If no callBackData passed, abort DrawImage method.
return true;
}
else
{
// If callBackData passed, continue DrawImage method.
return false;
}
}
private void DrawImageRect4IntAtrribAbortData(PaintEventArgs e)
{
// Create callback method.
Graphics.DrawImageAbort imageCallback
= new Graphics.DrawImageAbort(DrawImageCallback6);
IntPtr imageCallbackData = new IntPtr(1);
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create rectangle for displaying original image.
Rectangle destRect1 = new Rectangle(100, 25, 450, 150);
// Create coordinates of rectangle for source image.
int x = 50;
int y = 50;
int width = 150;
int height = 150;
GraphicsUnit units = GraphicsUnit.Pixel;
// Draw original image to screen.
e.Graphics.DrawImage(newImage, destRect1, x, y, width, height, units);
// Create rectangle for adjusted image.
Rectangle destRect2 = new Rectangle(100, 175, 450, 150);
// Create image attributes and set large gamma.
ImageAttributes imageAttr = new ImageAttributes();
imageAttr.SetGamma(4.0F);
try
{
checked
{
// Draw adjusted image to screen.
e.Graphics.DrawImage(
newImage,
destRect2,
x, y,
width, height,
units,
imageAttr,
imageCallback,
imageCallbackData);
}
}
catch (Exception ex)
{
e.Graphics.DrawString(
ex.ToString(),
new Font("Arial", 8),
Brushes.Black,
new PointF(0, 0));
}
}
Private Function DrawImageCallback6(ByVal callBackData As IntPtr) As Boolean
' Test for call that passes callBackData parameter.
If callBackData.Equals(IntPtr.Zero) Then
' If no callBackData passed, abort DrawImage method.
Return True
Else
' If callBackData passed, continue DrawImage method.
Return False
End If
End Function
Private Sub DrawImageRect4IntAtrribAbortData(ByVal e As PaintEventArgs)
' Create callback method.
Dim imageCallback As New _
Graphics.DrawImageAbort(AddressOf DrawImageCallback6)
Dim imageCallbackData As New IntPtr(1)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create rectangle for displaying original image.
Dim destRect1 As New Rectangle(100, 25, 450, 150)
' Create coordinates of rectangle for source image.
Dim x As Integer = 50
Dim y As Integer = 50
Dim width As Integer = 150
Dim height As Integer = 150
Dim units As GraphicsUnit = GraphicsUnit.Pixel
' Draw original image to screen.
e.Graphics.DrawImage(newImage, destRect1, x, y, width, height, _
units)
' Create rectangle for adjusted image.
Dim destRect2 As New Rectangle(100, 175, 450, 150)
' Create image attributes and set large gamma.
Dim imageAttr As New ImageAttributes
imageAttr.SetGamma(4.0F)
Try
' Draw adjusted image to screen.
e.Graphics.DrawImage(newImage, destRect2, x, y, width, _
height, units, imageAttr, imageCallback, imageCallbackData)
Catch ex As Exception
e.Graphics.DrawString(ex.ToString(), New Font("Arial", 8), _
Brushes.Black, New PointF(0, 0))
End Try
End Sub
Uwagi
Parametry srcX
, srcY
, srcWidth
i srcHeight
określają prostokątną część obiektu do image
rysowania. Prostokąt jest względny względem lewego górnego rogu obrazu źródłowego. Ta część jest skalowana w celu dopasowania do prostokąta określonego destRect
przez parametr .
To przeciążenie za pomocą callback
parametrów i callbackData
umożliwia zatrzymanie rysunku obrazu po uruchomieniu zgodnie z kryteriami i danymi określonymi przez aplikację. Na przykład aplikacja może rozpocząć rysowanie dużego obrazu, a użytkownik może przewijać obraz z ekranu, w tym przypadku aplikacja może zatrzymać rysunek.
Zobacz też
Dotyczy
DrawImage(Image, Rectangle, Single, Single, Single, Single, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, IntPtr)
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.
public:
void DrawImage(System::Drawing::Image ^ image, System::Drawing::Rectangle destRect, float srcX, float srcY, float srcWidth, float srcHeight, System::Drawing::GraphicsUnit srcUnit, System::Drawing::Imaging::ImageAttributes ^ imageAttrs, System::Drawing::Graphics::DrawImageAbort ^ callback, IntPtr callbackData);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, float srcX, float srcY, float srcWidth, float srcHeight, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes imageAttrs, System.Drawing.Graphics.DrawImageAbort callback, IntPtr callbackData);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, float srcX, float srcY, float srcWidth, float srcHeight, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes? imageAttrs, System.Drawing.Graphics.DrawImageAbort? callback, IntPtr callbackData);
member this.DrawImage : System.Drawing.Image * System.Drawing.Rectangle * single * single * single * single * System.Drawing.GraphicsUnit * System.Drawing.Imaging.ImageAttributes * System.Drawing.Graphics.DrawImageAbort * nativeint -> unit
Public Sub DrawImage (image As Image, destRect As Rectangle, srcX As Single, srcY As Single, srcWidth As Single, srcHeight As Single, srcUnit As GraphicsUnit, imageAttrs As ImageAttributes, callback As Graphics.DrawImageAbort, callbackData As IntPtr)
Parametry
- destRect
- Rectangle
Rectangle struktura określająca lokalizację i rozmiar narysowanego obrazu. Obraz jest skalowany w celu dopasowania do prostokąta.
- srcX
- Single
Współrzędna x lewego górnego rogu części obrazu źródłowego do rysowania.
- srcY
- Single
Współrzędna y lewego górnego rogu części obrazu źródłowego do rysowania.
- srcWidth
- Single
Szerokość części obrazu źródłowego do rysowania.
- srcHeight
- Single
Wysokość części obrazu źródłowego do rysowania.
- srcUnit
- GraphicsUnit
Element członkowski GraphicsUnit wyliczenia, który określa jednostki miary używane do określania prostokąta źródłowego.
- imageAttrs
- ImageAttributes
ImageAttributes określa ponowne kolorowanie i informacje gamma dla image
obiektu.
- callback
- Graphics.DrawImageAbort
Graphics.DrawImageAbort delegate, który określa metodę do wywołania podczas rysowania obrazu. Ta metoda jest często wywoływana w celu sprawdzenia, czy zatrzymać wykonywanie DrawImage(Image, Rectangle, Single, Single, Single, Single, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, IntPtr) metody zgodnie z kryteriami określonymi przez aplikację.
- callbackData
-
IntPtr
nativeint
Wartość określająca dodatkowe dane dla delegata Graphics.DrawImageAbort do użycia podczas sprawdzania DrawImage
, czy zatrzymać wykonywanie metody.
Wyjątki
image
to null
.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
parametru Paint programu obsługi zdarzeń. Kod najpierw definiuje metodę wywołania zwrotnego dla Graphics.DrawImageAbort delegata. Definicja jest uproszczona i jedynie sprawdza, czy DrawImage metoda wywołuje ją za pomocą parametru null callBackData
. Główna treść przykładu wykonuje następujące akcje:
Tworzy wystąpienie Graphics.DrawImageAbort metody wywołania zwrotnego.
Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.
Tworzy punkty definiujące prostokąt docelowy, w którym ma być rysowanie obrazu.
Tworzy prostokąt źródłowy, aby wybrać część obrazu do narysowania.
Ustawia jednostkę rysunku grafiki na piksel.
Rysuje oryginalny obraz na ekran.
Tworzy dodatkowy prostokąt docelowy, w którym ma być narysowany obraz.
Tworzy i ustawia atrybuty dostosowanego obrazu, aby mieć większą niż zwykle wartość gamma.
Rysuje dostosowany obraz do ekranu.
W przypadku oryginalnego, nieokreślonego prostokąta docelowego pozycja lokalizuje obraz na ekranie, a rozmiar prostokąta źródłowego oraz rozmiar i kształt prostokąta docelowego określa skalowanie rysunkowego obrazu.
Ponieważ w tym przykładzie użyto przeciążenia, które przekazuje callBackData
parametr, Graphics.DrawImageAbort wywołanie zwrotne zwraca false
wartość , co powoduje DrawImage kontynuowanie metody, a przykład rysuje dostosowany obraz na ekran.
// Define DrawImageAbort callback method.
private:
bool DrawImageCallback8( IntPtr callBackData )
{
// Test for call that passes callBackData parameter.
if ( callBackData == IntPtr::Zero )
{
// If no callBackData passed, abort DrawImage method.
return true;
}
else
{
// If callBackData passed, continue DrawImage method.
return false;
}
}
public:
void DrawImageRect4FloatAttribAbortData( PaintEventArgs^ e )
{
// Create callback method.
Graphics::DrawImageAbort^ imageCallback = gcnew Graphics::DrawImageAbort( this, &Form1::DrawImageCallback8 );
IntPtr imageCallbackData = IntPtr(1);
// Create image.
Image^ newImage = Image::FromFile( "SampImag.jpg" );
// Create rectangle for displaying original image.
Rectangle destRect1 = Rectangle(100,25,450,150);
// Create coordinates of rectangle for source image.
float x = 50.0F;
float y = 50.0F;
float width = 150.0F;
float height = 150.0F;
GraphicsUnit units = GraphicsUnit::Pixel;
// Draw original image to screen.
e->Graphics->DrawImage( newImage, destRect1, x, y, width, height, units );
// Create rectangle for adjusted image.
Rectangle destRect2 = Rectangle(100,175,450,150);
// Create image attributes and set large gamma.
ImageAttributes^ imageAttr = gcnew ImageAttributes;
imageAttr->SetGamma( 4.0F );
// Draw adjusted image to screen.
try
{
// Draw adjusted image to screen.
e->Graphics->DrawImage( newImage, destRect2, x, y, width, height, units, imageAttr, imageCallback, imageCallbackData );
}
catch ( Exception^ ex )
{
e->Graphics->DrawString( ex->ToString(), gcnew System::Drawing::Font( "Arial",8 ), Brushes::Black, PointF(0,0) );
}
}
// Define DrawImageAbort callback method.
private bool DrawImageCallback8(IntPtr callBackData)
{
// Test for call that passes callBackData parameter.
if(callBackData==IntPtr.Zero)
{
// If no callBackData passed, abort DrawImage method.
return true;
}
else
{
// If callBackData passed, continue DrawImage method.
return false;
}
}
public void DrawImageRect4FloatAttribAbortData(PaintEventArgs e)
{
// Create callback method.
Graphics.DrawImageAbort imageCallback
= new Graphics.DrawImageAbort(DrawImageCallback8);
IntPtr imageCallbackData = new IntPtr(1);
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create rectangle for displaying original image.
Rectangle destRect1 = new Rectangle(100, 25, 450, 150);
// Create coordinates of rectangle for source image.
float x = 50.0F;
float y = 50.0F;
float width = 150.0F;
float height = 150.0F;
GraphicsUnit units = GraphicsUnit.Pixel;
// Draw original image to screen.
e.Graphics.DrawImage(newImage, destRect1, x, y, width, height, units);
// Create rectangle for adjusted image.
Rectangle destRect2 = new Rectangle(100, 175, 450, 150);
// Create image attributes and set large gamma.
ImageAttributes imageAttr = new ImageAttributes();
imageAttr.SetGamma(4.0F);
// Draw adjusted image to screen.
try
{
checked
{
// Draw adjusted image to screen.
e.Graphics.DrawImage(
newImage,
destRect2,
x, y,
width, height,
units,
imageAttr,
imageCallback,
imageCallbackData);
}
}
catch (Exception ex)
{
e.Graphics.DrawString(
ex.ToString(),
new Font("Arial", 8),
Brushes.Black,
new PointF(0, 0));
}
}
Private Function DrawImageCallback8(ByVal callBackData As IntPtr) As Boolean
' Test for call that passes callBackData parameter.
If callBackData.Equals(IntPtr.Zero) Then
' If no callBackData passed, abort DrawImage method.
Return True
Else
' If callBackData passed, continue DrawImage method.
Return False
End If
End Function
Public Sub DrawImageRect4FloatAttribAbortData(ByVal e As PaintEventArgs)
' Create callback method.
Dim imageCallback As New _
Graphics.DrawImageAbort(AddressOf DrawImageCallback8)
Dim imageCallbackData As New IntPtr(1)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create rectangle for displaying original image.
Dim destRect1 As New Rectangle(100, 25, 450, 150)
' Create coordinates of rectangle for source image.
Dim x As Single = 50.0F
Dim y As Single = 50.0F
Dim width As Single = 150.0F
Dim height As Single = 150.0F
Dim units As GraphicsUnit = GraphicsUnit.Pixel
' Draw original image to screen.
e.Graphics.DrawImage(newImage, destRect1, x, y, width, _
height, units)
' Create rectangle for adjusted image.
Dim destRect2 As New Rectangle(100, 175, 450, 150)
' Create image attributes and set large gamma.
Dim imageAttr As New ImageAttributes
imageAttr.SetGamma(4.0F)
' Draw adjusted image to screen.
Try
' Draw adjusted image to screen.
e.Graphics.DrawImage(newImage, destRect2, x, y, width, _
height, units, imageAttr, imageCallback, imageCallbackData)
Catch ex As Exception
e.Graphics.DrawString(ex.ToString(), New Font("Arial", 8), _
Brushes.Black, New PointF(0, 0))
End Try
End Sub
Uwagi
Parametry srcX
, , srcWidth
srcY
i srcHeight
określają prostokątną część obiektu do image
rysowania. Prostokąt jest powiązany z lewym górnym róg obrazu źródłowego. Ta część jest skalowana w celu dopasowania do prostokąta określonego destRect
przez parametr .
To przeciążenie za pomocą callback
parametrów i callbackData
umożliwia zatrzymanie rysowania obrazu po uruchomieniu go zgodnie z kryteriami i danymi określonymi przez aplikację. Na przykład aplikacja może rozpocząć rysowanie dużego obrazu, a użytkownik może przewinąć obraz z ekranu, w tym przypadku aplikacja może zatrzymać rysunek.
Zobacz też
Dotyczy
DrawImage(Image, Rectangle, Single, Single, Single, Single, GraphicsUnit)
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.
public:
void DrawImage(System::Drawing::Image ^ image, System::Drawing::Rectangle destRect, float srcX, float srcY, float srcWidth, float srcHeight, System::Drawing::GraphicsUnit srcUnit);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, float srcX, float srcY, float srcWidth, float srcHeight, System.Drawing.GraphicsUnit srcUnit);
member this.DrawImage : System.Drawing.Image * System.Drawing.Rectangle * single * single * single * single * System.Drawing.GraphicsUnit -> unit
Public Sub DrawImage (image As Image, destRect As Rectangle, srcX As Single, srcY As Single, srcWidth As Single, srcHeight As Single, srcUnit As GraphicsUnit)
Parametry
- destRect
- Rectangle
Rectangle struktura określająca lokalizację i rozmiar narysowanego obrazu. Obraz jest skalowany w celu dopasowania do prostokąta.
- srcX
- Single
Współrzędna x lewego górnego rogu części obrazu źródłowego do rysowania.
- srcY
- Single
Współrzędna y lewego górnego rogu części obrazu źródłowego do rysowania.
- srcWidth
- Single
Szerokość części obrazu źródłowego do rysowania.
- srcHeight
- Single
Wysokość części obrazu źródłowego do rysowania.
- srcUnit
- GraphicsUnit
Element członkowski GraphicsUnit wyliczenia, który określa jednostki miary używane do określania prostokąta źródłowego.
Wyjątki
image
to null
.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
parametru Paint programu obsługi zdarzeń. Kod wykonuje następujące akcje:
Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.
Tworzy współrzędne prostokąta docelowego, w którym ma być narysowyny obraz.
Tworzy prostokąt źródłowy, z którego ma być wyodrębniony fragment obrazu.
Ustawia jednostkę miary prostokąta źródłowego na piksele.
Rysuje obraz na ekran.
Położenie prostokąta docelowego lokalizuje obraz na ekranie, rozmiary prostokątów źródłowych i docelowych określają skalowanie narysowanego obrazu, a rozmiar prostokąta źródłowego określa, jaka część oryginalnego obrazu jest rysowana na ekranie.
private:
void DrawImageRect4Float( PaintEventArgs^ e )
{
// Create image.
Image^ newImage = Image::FromFile( "SampImag.jpg" );
// Create rectangle for displaying image.
Rectangle destRect = Rectangle(100,100,450,150);
// Create coordinates of rectangle for source image.
float x = 50.0F;
float y = 50.0F;
float width = 150.0F;
float height = 150.0F;
GraphicsUnit units = GraphicsUnit::Pixel;
// Draw image to screen.
e->Graphics->DrawImage( newImage, destRect, x, y, width, height, units );
}
private void DrawImageRect4Float(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create rectangle for displaying image.
Rectangle destRect = new Rectangle(100, 100, 450, 150);
// Create coordinates of rectangle for source image.
float x = 50.0F;
float y = 50.0F;
float width = 150.0F;
float height = 150.0F;
GraphicsUnit units = GraphicsUnit.Pixel;
// Draw image to screen.
e.Graphics.DrawImage(newImage, destRect, x, y, width, height, units);
}
Private Sub DrawImageRect4Float(ByVal e As PaintEventArgs)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create rectangle for displaying image.
Dim destRect As New Rectangle(100, 100, 450, 150)
' Create coordinates of rectangle for source image.
Dim x As Single = 50.0F
Dim y As Single = 50.0F
Dim width As Single = 150.0F
Dim height As Single = 150.0F
Dim units As GraphicsUnit = GraphicsUnit.Pixel
' Draw image to screen.
e.Graphics.DrawImage(newImage, destRect, x, y, width, height, _
units)
End Sub
Uwagi
Parametry srcX
, , srcWidth
srcY
i srcHeight
określają prostokątną część obiektu do image
rysowania. Prostokąt jest powiązany z lewym górnym róg obrazu źródłowego. Ta część jest skalowana w celu dopasowania do prostokąta określonego destRect
przez parametr .
Zobacz też
Dotyczy
DrawImage(Image, Int32, Int32, Int32, Int32)
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Rysuje określony Image w określonej lokalizacji i o określonym rozmiarze.
public:
void DrawImage(System::Drawing::Image ^ image, int x, int y, int width, int height);
public void DrawImage (System.Drawing.Image image, int x, int y, int width, int height);
member this.DrawImage : System.Drawing.Image * int * int * int * int -> unit
Public Sub DrawImage (image As Image, x As Integer, y As Integer, width As Integer, height As Integer)
Parametry
- x
- Int32
Współrzędna x lewego górnego rogu narysowanego obrazu.
- y
- Int32
Współrzędna y lewego górnego rogu narysowanego obrazu.
- width
- Int32
Szerokość narysowanego obrazu.
- height
- Int32
Wysokość narysowanego obrazu.
Wyjątki
image
to null
.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
parametru Paint programu obsługi zdarzeń. Kod wykonuje następujące akcje:
Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.
Tworzy położenie i rozmiar prostokąta, w którym ma być narysowyny obraz.
Rysuje obraz na ekran.
Położenie prostokąta lokalizuje obraz na ekranie, a rozmiar oryginalnego obrazu i rozmiar prostokąta określa skalowanie narysowanego obrazu.
public:
void DrawImage4Int( PaintEventArgs^ e )
{
// Create image.
Image^ newImage = Image::FromFile( "SampImag.jpg" );
// Create coordinates for upper-left corner.
// of image and for size of image.
int x = 100;
int y = 100;
int width = 450;
int height = 150;
// Draw image to screen.
e->Graphics->DrawImage( newImage, x, y, width, height );
}
public void DrawImage4Int(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create coordinates for upper-left corner.
// of image and for size of image.
int x = 100;
int y = 100;
int width = 450;
int height = 150;
// Draw image to screen.
e.Graphics.DrawImage(newImage, x, y, width, height);
}
Public Sub DrawImage4Int(ByVal e As PaintEventArgs)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create coordinates for upper-left corner
' of image and for size of image.
Dim x As Integer = 100
Dim y As Integer = 100
Dim width As Integer = 450
Dim height As Integer = 150
' Draw image to screen.
e.Graphics.DrawImage(newImage, x, y, width, height)
End Sub
Uwagi
Prostokąt zdefiniowany przez x
parametry , , y
width
i height
określa położenie i rozmiar narysowanego obrazu.
Zobacz też
Dotyczy
DrawImage(Image, Single, Single, Single, Single)
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Rysuje określony Image w określonej lokalizacji i o określonym rozmiarze.
public:
void DrawImage(System::Drawing::Image ^ image, float x, float y, float width, float height);
public void DrawImage (System.Drawing.Image image, float x, float y, float width, float height);
member this.DrawImage : System.Drawing.Image * single * single * single * single -> unit
Public Sub DrawImage (image As Image, x As Single, y As Single, width As Single, height As Single)
Parametry
- x
- Single
Współrzędna x lewego górnego rogu narysowanego obrazu.
- y
- Single
Współrzędna y lewego górnego rogu narysowanego obrazu.
- width
- Single
Szerokość narysowanego obrazu.
- height
- Single
Wysokość narysowanego obrazu.
Wyjątki
image
to null
.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
parametru Paint programu obsługi zdarzeń. Kod wykonuje następujące akcje:
Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.
Tworzy położenie i rozmiar prostokąta, w którym ma być narysowyny obraz.
Rysuje obraz na ekran.
Położenie prostokąta lokalizuje obraz na ekranie, a rozmiar oryginalnego obrazu i rozmiar prostokąta określa skalowanie narysowanego obrazu.
public:
void DrawImage4Float( PaintEventArgs^ e )
{
// Create image.
Image^ newImage = Image::FromFile( "SampImag.jpg" );
// Create coordinates for upper-left corner.
// of image and for size of image.
float x = 100.0F;
float y = 100.0F;
float width = 450.0F;
float height = 150.0F;
// Draw image to screen.
e->Graphics->DrawImage( newImage, x, y, width, height );
}
public void DrawImage4Float(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create coordinates for upper-left corner.
// of image and for size of image.
float x = 100.0F;
float y = 100.0F;
float width = 450.0F;
float height = 150.0F;
// Draw image to screen.
e.Graphics.DrawImage(newImage, x, y, width, height);
}
Public Sub DrawImage4Float(ByVal e As PaintEventArgs)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create coordinates for upper-left corner
' of image and for size of image.
Dim x As Single = 100.0F
Dim y As Single = 100.0F
Dim width As Single = 450.0F
Dim height As Single = 150.0F
' Draw image to screen.
e.Graphics.DrawImage(newImage, x, y, width, height)
End Sub
Uwagi
Prostokąt zdefiniowany przez x
parametry , , y
width
i height
określa położenie i rozmiar narysowanego obrazu.
Zobacz też
Dotyczy
DrawImage(Image, PointF[], RectangleF, GraphicsUnit, ImageAttributes)
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.
public:
void DrawImage(System::Drawing::Image ^ image, cli::array <System::Drawing::PointF> ^ destPoints, System::Drawing::RectangleF srcRect, System::Drawing::GraphicsUnit srcUnit, System::Drawing::Imaging::ImageAttributes ^ imageAttr);
public void DrawImage (System.Drawing.Image image, System.Drawing.PointF[] destPoints, System.Drawing.RectangleF srcRect, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes imageAttr);
public void DrawImage (System.Drawing.Image image, System.Drawing.PointF[] destPoints, System.Drawing.RectangleF srcRect, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes? imageAttr);
member this.DrawImage : System.Drawing.Image * System.Drawing.PointF[] * System.Drawing.RectangleF * System.Drawing.GraphicsUnit * System.Drawing.Imaging.ImageAttributes -> unit
Public Sub DrawImage (image As Image, destPoints As PointF(), srcRect As RectangleF, srcUnit As GraphicsUnit, imageAttr As ImageAttributes)
Parametry
- srcRect
- RectangleF
RectangleF struktura określająca część image
obiektu do rysowania.
- srcUnit
- GraphicsUnit
Element członkowski GraphicsUnit wyliczenia, który określa jednostki miary używane przez srcRect
parametr .
- imageAttr
- ImageAttributes
ImageAttributes określa ponowne kolorowanie i informacje gamma dla image
obiektu.
Wyjątki
image
to null
.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
parametru Paint programu obsługi zdarzeń. Kod wykonuje następujące akcje:
Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.
Tworzy punkty definiujące docelowy równoległyogram, w którym ma być narysowy obraz.
Tworzy prostokąt źródłowy, z którego ma być wyodrębniony fragment obrazu.
Ustawia jednostkę miary prostokąta źródłowego na piksele.
Rysuje oryginalny obraz na ekran.
Tworzy dodatkowy równoległyogram, w którym ma być rysowany dostosowany obraz.
Tworzy i ustawia atrybuty dostosowanego obrazu, aby mieć większą niż zwykle wartość gamma.
Rysuje dostosowany obraz do ekranu.
W przypadku oryginalnego, niesprzyjętego docelowego równoległegoogramu pozycja lokalizuje obraz na ekranie, rozmiar prostokąta źródłowego oraz rozmiar i kształt docelowego równoległegoogramu określa skalowanie i ścinanie narysowanego obrazu, a rozmiar prostokąta określa, jaka część oryginalnego obrazu jest rysowana na ekranie.
void DrawImageParaFRectFAttrib( PaintEventArgs^ e )
{
// Create image.
Image^ newImage = Image::FromFile( "SampImag.jpg" );
// Create parallelogram for drawing original image.
PointF ulCorner1 = PointF(100.0F,100.0F);
PointF urCorner1 = PointF(325.0F,100.0F);
PointF llCorner1 = PointF(150.0F,250.0F);
array<PointF>^ destPara1 = {ulCorner1,urCorner1,llCorner1};
// Create rectangle for source image.
RectangleF srcRect = RectangleF(50.0F,50.0F,150.0F,150.0F);
GraphicsUnit units = GraphicsUnit::Pixel;
// Create parallelogram for drawing adjusted image.
PointF ulCorner2 = PointF(325.0F,100.0F);
PointF urCorner2 = PointF(550.0F,100.0F);
PointF llCorner2 = PointF(375.0F,250.0F);
array<PointF>^ destPara2 = {ulCorner2,urCorner2,llCorner2};
// Draw original image to screen.
e->Graphics->DrawImage( newImage, destPara1, srcRect, units );
// Create image attributes and set large gamma.
ImageAttributes^ imageAttr = gcnew ImageAttributes;
imageAttr->SetGamma( 4.0F );
// Draw adjusted image to screen.
e->Graphics->DrawImage( newImage, destPara2, srcRect, units, imageAttr );
}
private void DrawImageParaFRectFAttrib(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create parallelogram for drawing original image.
PointF ulCorner1 = new PointF(100.0F, 100.0F);
PointF urCorner1 = new PointF(325.0F, 100.0F);
PointF llCorner1 = new PointF(150.0F, 250.0F);
PointF[] destPara1 = {ulCorner1, urCorner1, llCorner1};
// Create rectangle for source image.
RectangleF srcRect = new RectangleF(50.0F, 50.0F, 150.0F, 150.0F);
GraphicsUnit units = GraphicsUnit.Pixel;
// Create parallelogram for drawing adjusted image.
PointF ulCorner2 = new PointF(325.0F, 100.0F);
PointF urCorner2 = new PointF(550.0F, 100.0F);
PointF llCorner2 = new PointF(375.0F, 250.0F);
PointF[] destPara2 = {ulCorner2, urCorner2, llCorner2};
// Draw original image to screen.
e.Graphics.DrawImage(newImage, destPara1, srcRect, units);
// Create image attributes and set large gamma.
ImageAttributes imageAttr = new ImageAttributes();
imageAttr.SetGamma(4.0F);
// Draw adjusted image to screen.
e.Graphics.DrawImage(newImage, destPara2, srcRect, units, imageAttr);
}
Private Sub DrawImageParaFRectFAttrib(ByVal e As PaintEventArgs)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create parallelogram for drawing original image.
Dim ulCorner1 As New PointF(100.0F, 100.0F)
Dim urCorner1 As New PointF(325.0F, 100.0F)
Dim llCorner1 As New PointF(150.0F, 250.0F)
Dim destPara1 As PointF() = {ulCorner1, urCorner1, llCorner1}
' Create rectangle for source image.
Dim srcRect As New RectangleF(50.0F, 50.0F, 150.0F, 150.0F)
Dim units As GraphicsUnit = GraphicsUnit.Pixel
' Create parallelogram for drawing adjusted image.
Dim ulCorner2 As New PointF(325.0F, 100.0F)
Dim urCorner2 As New PointF(550.0F, 100.0F)
Dim llCorner2 As New PointF(375.0F, 250.0F)
Dim destPara2 As PointF() = {ulCorner2, urCorner2, llCorner2}
' Draw original image to screen.
e.Graphics.DrawImage(newImage, destPara1, srcRect, units)
' Create image attributes and set large gamma.
Dim imageAttr As New ImageAttributes
imageAttr.SetGamma(4.0F)
' Draw adjusted image to screen.
e.Graphics.DrawImage(newImage, destPara2, srcRect, units, _
imageAttr)
End Sub
Uwagi
Parametr destPoints
określa trzy punkty parallelogramu. Trzy PointF struktury reprezentują lewy górny, prawy górny i lewy dolny róg równoległogramu. Czwarty punkt jest ekstrapolowany z pierwszych trzech do utworzenia równoległegoogramu.
Parametr srcRect
określa prostokątną część image
obiektu do rysowania. Ta część jest skalowana i sznana w celu dopasowania do równoległegoogramu określonego destPoints
przez parametr .
Zobacz też
Dotyczy
DrawImage(Image, Effect)
- Źródło:
- Graphics.cs
public:
void DrawImage(System::Drawing::Image ^ image, System::Drawing::Imaging::Effects::Effect ^ effect);
public void DrawImage (System.Drawing.Image image, System.Drawing.Imaging.Effects.Effect effect);
member this.DrawImage : System.Drawing.Image * System.Drawing.Imaging.Effects.Effect -> unit
Public Sub DrawImage (image As Image, effect As Effect)
Parametry
- image
- Image
- effect
- Effect
Dotyczy
DrawImage(Image, Point)
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Rysuje określony Imageobiekt przy użyciu oryginalnego rozmiaru fizycznego w określonej lokalizacji.
public:
void DrawImage(System::Drawing::Image ^ image, System::Drawing::Point point);
public void DrawImage (System.Drawing.Image image, System.Drawing.Point point);
member this.DrawImage : System.Drawing.Image * System.Drawing.Point -> unit
Public Sub DrawImage (image As Image, point As Point)
Parametry
Wyjątki
image
to null
.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
parametru Paint programu obsługi zdarzeń. Kod wykonuje następujące akcje:
Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.
Tworzy punkt, w którym ma być rysowanie lewego górnego rogu obrazu.
Rysuje nieskalowany obraz na ekran.
private:
void DrawImagePoint( PaintEventArgs^ e )
{
// Create image.
Image^ newImage = Image::FromFile( "SampImag.jpg" );
// Create Point for upper-left corner of image.
Point ulCorner = Point(100,100);
// Draw image to screen.
e->Graphics->DrawImage( newImage, ulCorner );
}
private void DrawImagePoint(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create Point for upper-left corner of image.
Point ulCorner = new Point(100, 100);
// Draw image to screen.
e.Graphics.DrawImage(newImage, ulCorner);
}
Private Sub DrawImagePoint(ByVal e As PaintEventArgs)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create Point for upper-left corner of image.
Dim ulCorner As New Point(100, 100)
' Draw image to screen.
e.Graphics.DrawImage(newImage, ulCorner)
End Sub
Uwagi
Obiekt Image przechowuje wartość szerokości pikseli i wartość rozdzielczości poziomej (kropki na cal). Szerokość fizyczna mierzona w calach obrazu to szerokość pikseli podzielona przez rozdzielczość poziomą. Na przykład obraz o szerokości pikseli 216 i poziomej rozdzielczości 72 kropek na cal ma fizyczną szerokość 3 cali. Podobne uwagi dotyczą wysokości pikseli i wysokości fizycznej.
Ta metoda rysuje obraz przy użyciu jego rozmiaru fizycznego, więc obraz będzie miał prawidłowy rozmiar w calach niezależnie od rozdzielczości (kropek na cal) urządzenia wyświetlania. Załóżmy na przykład, że obraz ma szerokość pikseli 216 i rozdzielczość poziomą 72 kropek na cal. Jeśli wywołasz tę metodę, aby narysować ten obraz na urządzeniu o rozdzielczości 96 kropek na cal, szerokość pikseli renderowanego obrazu będzie wynosić (216/72)*96 = 288.
Zobacz też
Dotyczy
DrawImage(Image, Point[])
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Rysuje określony Image w określonej lokalizacji i o określonym kształcie i rozmiarze.
public:
void DrawImage(System::Drawing::Image ^ image, cli::array <System::Drawing::Point> ^ destPoints);
public void DrawImage (System.Drawing.Image image, System.Drawing.Point[] destPoints);
member this.DrawImage : System.Drawing.Image * System.Drawing.Point[] -> unit
Public Sub DrawImage (image As Image, destPoints As Point())
Parametry
Wyjątki
image
to null
.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
parametru Paint programu obsługi zdarzeń. Kod wykonuje następujące akcje:
Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.
Tworzy punkty definiujące równoległyogram, w którym ma być rysowanie obrazu.
Rysuje obraz na ekran.
Położenie parallelogramu lokalizuje obraz na ekranie, a rozmiar oryginalnego obrazu oraz rozmiar i kształt parallelogramu określają skalowanie i ścinanie rysunku.
private:
void DrawImagePara( PaintEventArgs^ e )
{
// Create image.
Image^ newImage = Image::FromFile( "SampImag.jpg" );
// Create parallelogram for drawing image.
Point ulCorner = Point(100,100);
Point urCorner = Point(550,100);
Point llCorner = Point(150,250);
array<Point>^ destPara = {ulCorner,urCorner,llCorner};
// Draw image to screen.
e->Graphics->DrawImage( newImage, destPara );
}
private void DrawImagePara(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create parallelogram for drawing image.
Point ulCorner = new Point(100, 100);
Point urCorner = new Point(550, 100);
Point llCorner = new Point(150, 250);
Point[] destPara = {ulCorner, urCorner, llCorner};
// Draw image to screen.
e.Graphics.DrawImage(newImage, destPara);
}
Private Sub DrawImagePara(ByVal e As PaintEventArgs)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create parallelogram for drawing image.
Dim ulCorner As New Point(100, 100)
Dim urCorner As New Point(550, 100)
Dim llCorner As New Point(150, 250)
Dim destPara As Point() = {ulCorner, urCorner, llCorner}
' Draw image to screen.
e.Graphics.DrawImage(newImage, destPara)
End Sub
Uwagi
Parametr destPoints
określa trzy punkty parallelogramu. Trzy Point struktury reprezentują lewy górny, prawy górny i lewy dolny róg równoległogramu. Czwarty punkt jest ekstrapolowany z pierwszych trzech do utworzenia równoległegoogramu.
Obraz reprezentowany przez image
parametr jest skalowany i szkalowany w celu dopasowania do kształtu równoległegoogramu określonego destPoints
przez parametry.
Zobacz też
Dotyczy
DrawImage(Image, PointF)
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Rysuje określony Imageobiekt przy użyciu oryginalnego rozmiaru fizycznego w określonej lokalizacji.
public:
void DrawImage(System::Drawing::Image ^ image, System::Drawing::PointF point);
public void DrawImage (System.Drawing.Image image, System.Drawing.PointF point);
member this.DrawImage : System.Drawing.Image * System.Drawing.PointF -> unit
Public Sub DrawImage (image As Image, point As PointF)
Parametry
Wyjątki
image
to null
.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
parametru Paint programu obsługi zdarzeń. Kod wykonuje następujące akcje:
Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.
Tworzy punkt, w którym ma być rysowanie lewego górnego rogu obrazu.
Rysuje nieskalowany obraz na ekran.
private:
void DrawImagePointF( PaintEventArgs^ e )
{
// Create image.
Image^ newImage = Image::FromFile( "SampImag.jpg" );
// Create point for upper-left corner of image.
PointF ulCorner = PointF(100.0F,100.0F);
// Draw image to screen.
e->Graphics->DrawImage( newImage, ulCorner );
}
private void DrawImagePointF(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create point for upper-left corner of image.
PointF ulCorner = new PointF(100.0F, 100.0F);
// Draw image to screen.
e.Graphics.DrawImage(newImage, ulCorner);
}
Private Sub DrawImagePointF(ByVal e As PaintEventArgs)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create point for upper-left corner of image.
Dim ulCorner As New PointF(100.0F, 100.0F)
' Draw image to screen.
e.Graphics.DrawImage(newImage, ulCorner)
End Sub
Uwagi
Obiekt Image przechowuje wartość szerokości pikseli i wartość rozdzielczości poziomej (kropki na cal). Szerokość fizyczna mierzona w calach obrazu to szerokość pikseli podzielona przez rozdzielczość poziomą. Na przykład obraz o szerokości pikseli 216 i poziomej rozdzielczości 72 kropek na cal ma fizyczną szerokość 3 cali. Podobne uwagi dotyczą wysokości pikseli i wysokości fizycznej.
Ta metoda rysuje obraz przy użyciu jego rozmiaru fizycznego, więc obraz będzie miał prawidłowy rozmiar w calach niezależnie od rozdzielczości (kropek na cal) urządzenia wyświetlania. Załóżmy na przykład, że obraz ma szerokość pikseli 216 i rozdzielczość poziomą 72 kropek na cal. Jeśli wywołasz tę metodę, aby narysować ten obraz na urządzeniu o rozdzielczości 96 kropek na cal, szerokość pikseli renderowanego obrazu będzie wynosić (216/72)*96 = 288.
Zobacz też
Dotyczy
DrawImage(Image, PointF[])
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Rysuje określony Image w określonej lokalizacji i o określonym kształcie i rozmiarze.
public:
void DrawImage(System::Drawing::Image ^ image, cli::array <System::Drawing::PointF> ^ destPoints);
public void DrawImage (System.Drawing.Image image, System.Drawing.PointF[] destPoints);
member this.DrawImage : System.Drawing.Image * System.Drawing.PointF[] -> unit
Public Sub DrawImage (image As Image, destPoints As PointF())
Parametry
Wyjątki
image
to null
.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
parametru Paint programu obsługi zdarzeń. Kod wykonuje następujące akcje:
Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.
Tworzy punkty definiujące równoległyogram, w którym ma być rysowanie obrazu.
Rysuje obraz na ekran.
Położenie parallelogramu lokalizuje obraz na ekranie, a rozmiar oryginalnego obrazu oraz rozmiar i kształt parallelogramu określają skalowanie i ścinanie rysunku.
private:
void DrawImageParaF( PaintEventArgs^ e )
{
// Create image.
Image^ newImage = Image::FromFile( "SampImag.jpg" );
// Create parallelogram for drawing image.
PointF ulCorner = PointF(100.0F,100.0F);
PointF urCorner = PointF(550.0F,100.0F);
PointF llCorner = PointF(150.0F,250.0F);
array<PointF>^ destPara = {ulCorner,urCorner,llCorner};
// Draw image to screen.
e->Graphics->DrawImage( newImage, destPara );
}
private void DrawImageParaF(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create parallelogram for drawing image.
PointF ulCorner = new PointF(100.0F, 100.0F);
PointF urCorner = new PointF(550.0F, 100.0F);
PointF llCorner = new PointF(150.0F, 250.0F);
PointF[] destPara = {ulCorner, urCorner, llCorner};
// Draw image to screen.
e.Graphics.DrawImage(newImage, destPara);
}
Private Sub DrawImageParaF(ByVal e As PaintEventArgs)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create parallelogram for drawing image.
Dim ulCorner As New PointF(100.0F, 100.0F)
Dim urCorner As New PointF(550.0F, 100.0F)
Dim llCorner As New PointF(150.0F, 250.0F)
Dim destPara As PointF() = {ulCorner, urCorner, llCorner}
' Draw image to screen.
e.Graphics.DrawImage(newImage, destPara)
End Sub
Uwagi
Parametr destPoints
określa trzy punkty parallelogramu. Trzy PointF struktury reprezentują lewy górny, prawy górny i lewy dolny róg równoległogramu. Czwarty punkt jest ekstrapolowany z pierwszych trzech do utworzenia równoległegoogramu.
Obraz reprezentowany przez image
obiekt jest skalowany i szkalowany w celu dopasowania do kształtu równoległegoogramu określonego destPoints
przez parametr .
Zobacz też
Dotyczy
DrawImage(Image, Rectangle)
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Rysuje określony Image w określonej lokalizacji i o określonym rozmiarze.
public:
void DrawImage(System::Drawing::Image ^ image, System::Drawing::Rectangle rect);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle rect);
member this.DrawImage : System.Drawing.Image * System.Drawing.Rectangle -> unit
Public Sub DrawImage (image As Image, rect As Rectangle)
Parametry
Wyjątki
image
to null
.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
parametru Paint programu obsługi zdarzeń. Kod wykonuje następujące akcje:
Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.
Tworzy prostokąt, w którym ma być rysowanie obrazu.
Rysuje obraz na ekran.
Położenie prostokąta lokalizuje obraz na ekranie, a rozmiar oryginalnego obrazu i rozmiar prostokąta określa skalowanie narysowanego obrazu.
private:
void DrawImageRect( PaintEventArgs^ e )
{
// Create image.
Image^ newImage = Image::FromFile( "SampImag.jpg" );
// Create rectangle for displaying image.
Rectangle destRect = Rectangle(100,100,450,150);
// Draw image to screen.
e->Graphics->DrawImage( newImage, destRect );
}
private void DrawImageRect(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create rectangle for displaying image.
Rectangle destRect = new Rectangle(100, 100, 450, 150);
// Draw image to screen.
e.Graphics.DrawImage(newImage, destRect);
}
Private Sub DrawImageRect(ByVal e As PaintEventArgs)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create rectangle for displaying image.
Dim destRect As New Rectangle(100, 100, 450, 150)
' Draw image to screen.
e.Graphics.DrawImage(newImage, destRect)
End Sub
Uwagi
Obraz reprezentowany przez image
obiekt jest skalowany do wymiarów prostokąta rect
.
Zobacz też
Dotyczy
DrawImage(Image, RectangleF)
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Rysuje określony Image w określonej lokalizacji i o określonym rozmiarze.
public:
void DrawImage(System::Drawing::Image ^ image, System::Drawing::RectangleF rect);
public void DrawImage (System.Drawing.Image image, System.Drawing.RectangleF rect);
member this.DrawImage : System.Drawing.Image * System.Drawing.RectangleF -> unit
Public Sub DrawImage (image As Image, rect As RectangleF)
Parametry
- rect
- RectangleF
RectangleF struktura określająca lokalizację i rozmiar narysowanego obrazu.
Wyjątki
image
to null
.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
parametru Paint programu obsługi zdarzeń. Kod wykonuje następujące akcje:
Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.
Tworzy prostokąt, w którym ma być rysowanie obrazu.
Rysuje obraz na ekran.
Położenie prostokąta lokalizuje obraz na ekranie, a oryginalny rozmiar obrazu i rozmiar prostokąta określa skalowanie narysowanego obrazu.
public:
void DrawImageRectF( PaintEventArgs^ e )
{
// Create image.
Image^ newImage = Image::FromFile( "SampImag.jpg" );
// Create rectangle for displaying image.
RectangleF rect = RectangleF(100.0F,100.0F,450.0F,150.0F);
// Draw image to screen.
e->Graphics->DrawImage( newImage, rect );
}
public void DrawImageRectF(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create rectangle for displaying image.
RectangleF rect = new RectangleF(100.0F, 100.0F, 450.0F, 150.0F);
// Draw image to screen.
e.Graphics.DrawImage(newImage, rect);
}
Public Sub DrawImageRectF(ByVal e As PaintEventArgs)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create rectangle for displaying image.
Dim rect As New RectangleF(100.0F, 100.0F, 450.0F, 150.0F)
' Draw image to screen.
e.Graphics.DrawImage(newImage, rect)
End Sub
Uwagi
Obraz reprezentowany przez image
obiekt jest skalowany do wymiarów prostokąta rect
.
Zobacz też
Dotyczy
DrawImage(Image, Int32, Int32, Rectangle, GraphicsUnit)
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Rysuje część obrazu w określonej lokalizacji.
public:
void DrawImage(System::Drawing::Image ^ image, int x, int y, System::Drawing::Rectangle srcRect, System::Drawing::GraphicsUnit srcUnit);
public void DrawImage (System.Drawing.Image image, int x, int y, System.Drawing.Rectangle srcRect, System.Drawing.GraphicsUnit srcUnit);
member this.DrawImage : System.Drawing.Image * int * int * System.Drawing.Rectangle * System.Drawing.GraphicsUnit -> unit
Public Sub DrawImage (image As Image, x As Integer, y As Integer, srcRect As Rectangle, srcUnit As GraphicsUnit)
Parametry
- x
- Int32
Współrzędna x lewego górnego rogu narysowanego obrazu.
- y
- Int32
Współrzędna y lewego górnego rogu narysowanego obrazu.
- srcUnit
- GraphicsUnit
Element członkowski GraphicsUnit wyliczenia, który określa jednostki miary używane przez srcRect
parametr .
Wyjątki
image
to null
.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
parametru Paint programu obsługi zdarzeń. Kod wykonuje następujące akcje:
Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.
Tworzy współrzędne, na których ma być rysowanie lewego górnego rogu obrazu.
Tworzy prostokąt źródłowy, z którego ma być wyodrębniony fragment obrazu.
Ustawia jednostkę miary prostokąta źródłowego na piksele.
Rysuje obraz na ekran.
Rozmiar prostokąta źródłowego określa, która część nieskalowanego oryginalnego obrazu jest rysowana na ekranie.
public:
void DrawImage2IntRect( PaintEventArgs^ e )
{
// Create image.
Image^ newImage = Image::FromFile( "SampImag.jpg" );
// Create coordinates for upper-left corner of image.
int x = 100;
int y = 100;
// Create rectangle for source image.
Rectangle srcRect = Rectangle(50,50,150,150);
GraphicsUnit units = GraphicsUnit::Pixel;
// Draw image to screen.
e->Graphics->DrawImage( newImage, x, y, srcRect, units );
}
public void DrawImage2IntRect(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create coordinates for upper-left corner of image.
int x = 100;
int y = 100;
// Create rectangle for source image.
Rectangle srcRect = new Rectangle(50, 50, 150, 150);
GraphicsUnit units = GraphicsUnit.Pixel;
// Draw image to screen.
e.Graphics.DrawImage(newImage, x, y, srcRect, units);
}
Public Sub DrawImage2IntRect(ByVal e As PaintEventArgs)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create coordinates for upper-left corner of image.
Dim x As Integer = 100
Dim y As Integer = 100
' Create rectangle for source image.
Dim srcRect As New Rectangle(50, 50, 150, 150)
Dim units As GraphicsUnit = GraphicsUnit.Pixel
' Draw image to screen.
e.Graphics.DrawImage(newImage, x, y, srcRect, units)
End Sub
Uwagi
Obiekt Image przechowuje wartość szerokości pikseli i wartość rozdzielczości poziomej (kropki na cal). Szerokość fizyczna mierzona w calach obrazu to szerokość pikseli podzielona przez rozdzielczość poziomą. Na przykład obraz o szerokości pikseli 360 i rozdzielczości poziomej 72 kropek na cal ma fizyczną szerokość 5 cali. Podobne uwagi dotyczą wysokości pikseli i wysokości fizycznej.
Ta metoda rysuje część obrazu przy użyciu rozmiaru fizycznego, więc część obrazu będzie miała poprawny rozmiar w calach niezależnie od rozdzielczości (kropki na cal) urządzenia wyświetlania. Załóżmy na przykład, że część obrazu ma szerokość pikseli 216 i poziomą rozdzielczość 72 kropek na cal. Jeśli wywołasz tę metodę, aby narysować tę część obrazu na urządzeniu o rozdzielczości 96 kropek na cal, szerokość piksela renderowanego obrazu będzie (216/72)*96 = 288.
Zobacz też
Dotyczy
DrawImage(Image, Single, Single)
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Rysuje określony Imageelement , używając oryginalnego rozmiaru fizycznego w określonej lokalizacji.
public:
void DrawImage(System::Drawing::Image ^ image, float x, float y);
public void DrawImage (System.Drawing.Image image, float x, float y);
member this.DrawImage : System.Drawing.Image * single * single -> unit
Public Sub DrawImage (image As Image, x As Single, y As Single)
Parametry
- x
- Single
Współrzędna x lewego górnego rogu narysowanego obrazu.
- y
- Single
Współrzędna y lewego górnego rogu narysowanego obrazu.
Wyjątki
image
to null
.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
parametru Paint programu obsługi zdarzeń. Kod wykonuje następujące akcje:
Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.
Tworzy współrzędne punktu, w którym ma być rysowanie lewego górnego rogu obrazu.
Rysuje nieskalowany obraz na ekran.
public:
void DrawImage2Float( PaintEventArgs^ e )
{
// Create image.
Image^ newImage = Image::FromFile( "SampImag.jpg" );
// Create coordinates for upper-left corner of image.
float x = 100.0F;
float y = 100.0F;
// Draw image to screen.
e->Graphics->DrawImage( newImage, x, y );
}
public void DrawImage2Float(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create coordinates for upper-left corner of image.
float x = 100.0F;
float y = 100.0F;
// Draw image to screen.
e.Graphics.DrawImage(newImage, x, y);
}
Public Sub DrawImage2Float(ByVal e As PaintEventArgs)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create coordinates for upper-left corner of image.
Dim x As Single = 100.0F
Dim y As Single = 100.0F
' Draw image to screen.
e.Graphics.DrawImage(newImage, x, y)
End Sub
Uwagi
Element Image przechowuje wartość szerokości pikseli i wartość rozdzielczości poziomej (kropki na cal). Szerokość fizyczna mierzona w calach obrazu to szerokość pikseli podzielona przez rozdzielczość poziomą. Na przykład obraz o szerokości pikseli 216 i rozdzielczości poziomej 72 kropek na cal ma fizyczną szerokość 3 cali. Podobne uwagi dotyczą wysokości pikseli i wysokości fizycznej.
Ta metoda rysuje obraz przy użyciu rozmiaru fizycznego, więc obraz będzie miał poprawny rozmiar w calach niezależnie od rozdzielczości (kropki na cal) urządzenia wyświetlania. Załóżmy na przykład, że obraz ma szerokość pikseli 216 i rozdzielczość poziomą 72 kropek na cal. Jeśli wywołasz tę metodę, aby narysować ten obraz na urządzeniu o rozdzielczości 96 kropek na cal, szerokość pikseli renderowanego obrazu będzie (216/72)*96 = 288.
Zobacz też
Dotyczy
DrawImage(Image, Point[], Rectangle, GraphicsUnit)
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.
public:
void DrawImage(System::Drawing::Image ^ image, cli::array <System::Drawing::Point> ^ destPoints, System::Drawing::Rectangle srcRect, System::Drawing::GraphicsUnit srcUnit);
public void DrawImage (System.Drawing.Image image, System.Drawing.Point[] destPoints, System.Drawing.Rectangle srcRect, System.Drawing.GraphicsUnit srcUnit);
member this.DrawImage : System.Drawing.Image * System.Drawing.Point[] * System.Drawing.Rectangle * System.Drawing.GraphicsUnit -> unit
Public Sub DrawImage (image As Image, destPoints As Point(), srcRect As Rectangle, srcUnit As GraphicsUnit)
Parametry
- srcUnit
- GraphicsUnit
Element członkowski wyliczenia GraphicsUnit , który określa jednostki miary używane przez srcRect
parametr .
Wyjątki
image
to null
.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
parametru Paint programu obsługi zdarzeń. Kod wykonuje następujące akcje:
Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.
Tworzy punkty definiujące równoległy obraz, w którym ma być rysowanie obrazu.
Tworzy prostokąt, aby wybrać część obrazu do narysowania.
Ustawia jednostkę rysunku grafiki na piksel.
Rysuje obraz na ekran.
Pozycja parallelogramu lokalizuje obraz na ekranie, a rozmiar prostokąta oraz rozmiar i kształt parallelogramu określa skalowanie i ścinanie rysunkowego obrazu.
private:
void DrawImageParaRect( PaintEventArgs^ e )
{
// Create image.
Image^ newImage = Image::FromFile( "SampImag.jpg" );
// Create parallelogram for drawing image.
Point ulCorner = Point(100,100);
Point urCorner = Point(325,100);
Point llCorner = Point(150,250);
array<Point>^ destPara = {ulCorner,urCorner,llCorner};
// Create rectangle for source image.
Rectangle srcRect = Rectangle(50,50,150,150);
GraphicsUnit units = GraphicsUnit::Pixel;
// Draw image to screen.
e->Graphics->DrawImage( newImage, destPara, srcRect, units );
}
private void DrawImageParaRect(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create parallelogram for drawing image.
Point ulCorner = new Point(100, 100);
Point urCorner = new Point(325, 100);
Point llCorner = new Point(150, 250);
Point[] destPara = {ulCorner, urCorner, llCorner};
// Create rectangle for source image.
Rectangle srcRect = new Rectangle(50, 50, 150, 150);
GraphicsUnit units = GraphicsUnit.Pixel;
// Draw image to screen.
e.Graphics.DrawImage(newImage, destPara, srcRect, units);
}
Private Sub DrawImageParaRect(ByVal e As PaintEventArgs)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create parallelogram for drawing image.
Dim ulCorner As New Point(100, 100)
Dim urCorner As New Point(325, 100)
Dim llCorner As New Point(150, 250)
Dim destPara As Point() = {ulCorner, urCorner, llCorner}
' Create rectangle for source image.
Dim srcRect As New Rectangle(50, 50, 150, 150)
Dim units As GraphicsUnit = GraphicsUnit.Pixel
' Draw image to screen.
e.Graphics.DrawImage(newImage, destPara, srcRect, units)
End Sub
Uwagi
Parametr destPoints
określa trzy punkty parallelogramu. Trzy Point struktury reprezentują lewe górne, prawe górne i lewe dolne rogi równoległegoogramu. Czwarty punkt jest ekstrapolowany z pierwszych trzech do utworzenia równoległego.
Parametr srcRect
określa prostokątną część image
obiektu do rysowania. Ta część jest skalowana i sznana w celu dopasowania do równoległegoogramu określonego destPoints
przez parametr .
Zobacz też
Dotyczy
DrawImage(Image, PointF[], RectangleF, GraphicsUnit)
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.
public:
void DrawImage(System::Drawing::Image ^ image, cli::array <System::Drawing::PointF> ^ destPoints, System::Drawing::RectangleF srcRect, System::Drawing::GraphicsUnit srcUnit);
public void DrawImage (System.Drawing.Image image, System.Drawing.PointF[] destPoints, System.Drawing.RectangleF srcRect, System.Drawing.GraphicsUnit srcUnit);
member this.DrawImage : System.Drawing.Image * System.Drawing.PointF[] * System.Drawing.RectangleF * System.Drawing.GraphicsUnit -> unit
Public Sub DrawImage (image As Image, destPoints As PointF(), srcRect As RectangleF, srcUnit As GraphicsUnit)
Parametry
- srcRect
- RectangleF
RectangleF struktura określająca część image
obiektu do rysowania.
- srcUnit
- GraphicsUnit
Element członkowski wyliczenia GraphicsUnit , który określa jednostki miary używane przez srcRect
parametr .
Wyjątki
image
to null
.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
parametru Paint programu obsługi zdarzeń. Kod wykonuje następujące akcje:
Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.
Tworzy punkty definiujące docelowy równoległyogram, w którym ma być rysowanie obrazu.
Tworzy prostokąt źródłowy, z którego ma być wyodrębniony fragment obrazu.
Ustawia jednostkę miary prostokąta źródłowego na piksele.
Rysuje obraz na ekran.
Położenie docelowego parallelogramu lokalizuje obraz na ekranie, rozmiar prostokąta źródłowego oraz rozmiar i kształt docelowego równoległości określa skalowanie i ścinanie narysowanego obrazu, a rozmiar prostokąta określa, jaka część oryginalnego obrazu jest rysowana na ekranie.
private:
void DrawImageParaFRectF( PaintEventArgs^ e )
{
// Create image.
Image^ newImage = Image::FromFile( "SampImag.jpg" );
// Create parallelogram for drawing image.
PointF ulCorner = PointF(100.0F,100.0F);
PointF urCorner = PointF(550.0F,100.0F);
PointF llCorner = PointF(150.0F,250.0F);
array<PointF>^ destPara = {ulCorner,urCorner,llCorner};
// Create rectangle for source image.
RectangleF srcRect = RectangleF(50.0F,50.0F,150.0F,150.0F);
GraphicsUnit units = GraphicsUnit::Pixel;
// Draw image to screen.
e->Graphics->DrawImage( newImage, destPara, srcRect, units );
}
private void DrawImageParaFRectF(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create parallelogram for drawing image.
PointF ulCorner = new PointF(100.0F, 100.0F);
PointF urCorner = new PointF(550.0F, 100.0F);
PointF llCorner = new PointF(150.0F, 250.0F);
PointF[] destPara = {ulCorner, urCorner, llCorner};
// Create rectangle for source image.
RectangleF srcRect = new RectangleF(50.0F, 50.0F, 150.0F, 150.0F);
GraphicsUnit units = GraphicsUnit.Pixel;
// Draw image to screen.
e.Graphics.DrawImage(newImage, destPara, srcRect, units);
}
Private Sub DrawImageParaFRectF(ByVal e As PaintEventArgs)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create parallelogram for drawing image.
Dim ulCorner As New PointF(100.0F, 100.0F)
Dim urCorner As New PointF(550.0F, 100.0F)
Dim llCorner As New PointF(150.0F, 250.0F)
Dim destPara As PointF() = {ulCorner, urCorner, llCorner}
' Create rectangle for source image.
Dim srcRect As New RectangleF(50.0F, 50.0F, 150.0F, 150.0F)
Dim units As GraphicsUnit = GraphicsUnit.Pixel
' Draw image to screen.
e.Graphics.DrawImage(newImage, destPara, srcRect, units)
End Sub
Uwagi
Parametr destPoints
określa trzy punkty parallelogramu. Trzy PointF struktury reprezentują lewe górne, prawe górne i lewe dolne rogi równoległegoogramu. Czwarty punkt jest ekstrapolowany z pierwszych trzech do utworzenia równoległego.
Parametr srcRect
określa prostokątną część image
obiektu do rysowania. Ta część jest skalowana i sznana w celu dopasowania do równoległegoogramu określonego destPoints
przez parametr .
Zobacz też
Dotyczy
DrawImage(Image, Rectangle, Rectangle, GraphicsUnit)
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.
public:
void DrawImage(System::Drawing::Image ^ image, System::Drawing::Rectangle destRect, System::Drawing::Rectangle srcRect, System::Drawing::GraphicsUnit srcUnit);
public void DrawImage (System.Drawing.Image image, System.Drawing.Rectangle destRect, System.Drawing.Rectangle srcRect, System.Drawing.GraphicsUnit srcUnit);
member this.DrawImage : System.Drawing.Image * System.Drawing.Rectangle * System.Drawing.Rectangle * System.Drawing.GraphicsUnit -> unit
Public Sub DrawImage (image As Image, destRect As Rectangle, srcRect As Rectangle, srcUnit As GraphicsUnit)
Parametry
- destRect
- Rectangle
Rectangle struktura określająca lokalizację i rozmiar rysunkowego obrazu. Obraz jest skalowany w celu dopasowania do prostokąta.
- srcUnit
- GraphicsUnit
Element członkowski wyliczenia GraphicsUnit , który określa jednostki miary używane przez srcRect
parametr .
Wyjątki
image
to null
.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
parametru Paint programu obsługi zdarzeń. Kod wykonuje następujące akcje:
Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.
Tworzy prostokąt docelowy, w którym ma być rysowanie obrazu.
Tworzy prostokąt źródłowy, z którego ma być wyodrębniony fragment obrazu.
Ustawia jednostkę miary prostokąta źródłowego na piksele.
Rysuje obraz na ekran.
Położenie prostokąta docelowego lokalizuje obraz na ekranie, rozmiary prostokątów źródłowych i docelowych określają skalowanie narysowanego obrazu, a rozmiar prostokąta źródłowego określa, jaka część oryginalnego obrazu jest rysowana na ekranie.
private:
void DrawImageRectRect( PaintEventArgs^ e )
{
// Create image.
Image^ newImage = Image::FromFile( "SampImag.jpg" );
// Create rectangle for displaying image.
Rectangle destRect = Rectangle(100,100,450,150);
// Create rectangle for source image.
Rectangle srcRect = Rectangle(50,50,150,150);
GraphicsUnit units = GraphicsUnit::Pixel;
// Draw image to screen.
e->Graphics->DrawImage( newImage, destRect, srcRect, units );
}
private void DrawImageRectRect(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create rectangle for displaying image.
Rectangle destRect = new Rectangle(100, 100, 450, 150);
// Create rectangle for source image.
Rectangle srcRect = new Rectangle(50, 50, 150, 150);
GraphicsUnit units = GraphicsUnit.Pixel;
// Draw image to screen.
e.Graphics.DrawImage(newImage, destRect, srcRect, units);
}
Private Sub DrawImageRectRect(ByVal e As PaintEventArgs)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create rectangle for displaying image.
Dim destRect As New Rectangle(100, 100, 450, 150)
' Create rectangle for source image.
Dim srcRect As New Rectangle(50, 50, 150, 150)
Dim units As GraphicsUnit = GraphicsUnit.Pixel
' Draw image to screen.
e.Graphics.DrawImage(newImage, destRect, srcRect, units)
End Sub
Uwagi
Parametr srcRect
określa prostokątną część image
obiektu do rysowania. Ta część jest skalowana w celu dopasowania do prostokąta określonego destRect
przez parametr .
Zobacz też
Dotyczy
DrawImage(Image, RectangleF, RectangleF, GraphicsUnit)
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Rysuje określoną część określonej Image w określonej lokalizacji i o określonym rozmiarze.
public:
void DrawImage(System::Drawing::Image ^ image, System::Drawing::RectangleF destRect, System::Drawing::RectangleF srcRect, System::Drawing::GraphicsUnit srcUnit);
public void DrawImage (System.Drawing.Image image, System.Drawing.RectangleF destRect, System.Drawing.RectangleF srcRect, System.Drawing.GraphicsUnit srcUnit);
member this.DrawImage : System.Drawing.Image * System.Drawing.RectangleF * System.Drawing.RectangleF * System.Drawing.GraphicsUnit -> unit
Public Sub DrawImage (image As Image, destRect As RectangleF, srcRect As RectangleF, srcUnit As GraphicsUnit)
Parametry
- destRect
- RectangleF
RectangleF struktura określająca lokalizację i rozmiar rysunkowego obrazu. Obraz jest skalowany w celu dopasowania do prostokąta.
- srcRect
- RectangleF
RectangleF struktura określająca część image
obiektu do rysowania.
- srcUnit
- GraphicsUnit
Element członkowski wyliczenia GraphicsUnit , który określa jednostki miary używane przez srcRect
parametr .
Wyjątki
image
to null
.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
parametru Paint programu obsługi zdarzeń. Kod wykonuje następujące akcje:
Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.
Tworzy prostokąt docelowy, w którym ma być rysowanie obrazu.
Tworzy prostokąt źródłowy, z którego ma być wyodrębniony fragment obrazu.
Ustawia jednostkę miary prostokąta źródłowego na piksele.
Rysuje obraz na ekran.
Położenie prostokąta docelowego lokalizuje obraz na ekranie, rozmiary prostokątów źródłowych i docelowych określają skalowanie narysowanego obrazu, a rozmiar prostokąta źródłowego określa, jaka część oryginalnego obrazu jest rysowana na ekranie.
public:
void DrawImageRectFRectF( PaintEventArgs^ e )
{
// Create image.
Image^ newImage = Image::FromFile( "SampImag.jpg" );
// Create rectangle for displaying image.
RectangleF destRect = RectangleF(100.0F,100.0F,450.0F,150.0F);
// Create rectangle for source image.
RectangleF srcRect = RectangleF(50.0F,50.0F,150.0F,150.0F);
GraphicsUnit units = GraphicsUnit::Pixel;
// Draw image to screen.
e->Graphics->DrawImage( newImage, destRect, srcRect, units );
}
public void DrawImageRectFRectF(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create rectangle for displaying image.
RectangleF destRect = new RectangleF(100.0F, 100.0F, 450.0F, 150.0F);
// Create rectangle for source image.
RectangleF srcRect = new RectangleF(50.0F, 50.0F, 150.0F, 150.0F);
GraphicsUnit units = GraphicsUnit.Pixel;
// Draw image to screen.
e.Graphics.DrawImage(newImage, destRect, srcRect, units);
}
Public Sub DrawImageRectFRectF(ByVal e As PaintEventArgs)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create rectangle for displaying image.
Dim destRect As New RectangleF(100.0F, 100.0F, 450.0F, 150.0F)
' Create rectangle for source image.
Dim srcRect As New RectangleF(50.0F, 50.0F, 150.0F, 150.0F)
Dim units As GraphicsUnit = GraphicsUnit.Pixel
' Draw image to screen.
e.Graphics.DrawImage(newImage, destRect, srcRect, units)
End Sub
Uwagi
Parametr srcRect
określa prostokątną część image
obiektu do rysowania. Ta część jest skalowana w celu dopasowania do prostokąta określonego destRect
przez parametr .
Zobacz też
Dotyczy
DrawImage(Image, Int32, Int32)
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Rysuje określony obraz przy użyciu oryginalnego rozmiaru fizycznego w lokalizacji określonej przez parę współrzędnych.
public:
void DrawImage(System::Drawing::Image ^ image, int x, int y);
public void DrawImage (System.Drawing.Image image, int x, int y);
member this.DrawImage : System.Drawing.Image * int * int -> unit
Public Sub DrawImage (image As Image, x As Integer, y As Integer)
Parametry
- x
- Int32
Współrzędna x lewego górnego rogu narysowanego obrazu.
- y
- Int32
Współrzędna y lewego górnego rogu narysowanego obrazu.
Wyjątki
image
to null
.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
parametru Paint programu obsługi zdarzeń. Kod wykonuje następujące akcje:
Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu SampImag.jpg w folderze przykładu.
Tworzy współrzędne punktu, w którym ma być rysowanie lewego górnego rogu obrazu.
Rysuje nieskalowany obraz.
public:
void DrawImage2Int( PaintEventArgs^ e )
{
// Create image.
Image^ newImage = Image::FromFile( "SampImag.jpg" );
// Create coordinates for upper-left corner of image.
int x = 100;
int y = 100;
// Draw image to screen.
e->Graphics->DrawImage( newImage, x, y );
}
public void DrawImage2Int(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create coordinates for upper-left corner of image.
int x = 100;
int y = 100;
// Draw image to screen.
e.Graphics.DrawImage(newImage, x, y);
}
Public Sub DrawImage2Int(ByVal e As PaintEventArgs)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create coordinates for upper-left corner of image.
Dim x As Integer = 100
Dim y As Integer = 100
' Draw image to screen.
e.Graphics.DrawImage(newImage, x, y)
End Sub
Uwagi
Element Image przechowuje wartość szerokości pikseli i wartość rozdzielczości poziomej (kropki na cal). Szerokość fizyczna mierzona w calach obrazu to szerokość pikseli podzielona przez rozdzielczość poziomą. Na przykład obraz o szerokości pikseli 216 i rozdzielczości poziomej 72 kropek na cal ma fizyczną szerokość 3 cali. Podobne uwagi dotyczą wysokości pikseli i wysokości fizycznej.
Metoda DrawImage rysuje obraz przy użyciu rozmiaru fizycznego, więc obraz będzie miał poprawny rozmiar w calach niezależnie od rozdzielczości (kropki na cal) urządzenia wyświetlania. Załóżmy na przykład, że obraz ma szerokość pikseli 216 i rozdzielczość poziomą 72 kropek na cal. Jeśli wywołasz polecenie DrawImage , aby narysować ten obraz na urządzeniu o rozdzielczości 96 kropek na cal, szerokość pikseli renderowanego obrazu będzie (216/72)*96 = 288.
Zobacz też
Dotyczy
DrawImage(Image, Point[], Rectangle, GraphicsUnit, ImageAttributes)
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
- Źródło:
- Graphics.cs
Rysuje określoną część określonego Image obiektu w określonej lokalizacji.
public:
void DrawImage(System::Drawing::Image ^ image, cli::array <System::Drawing::Point> ^ destPoints, System::Drawing::Rectangle srcRect, System::Drawing::GraphicsUnit srcUnit, System::Drawing::Imaging::ImageAttributes ^ imageAttr);
public void DrawImage (System.Drawing.Image image, System.Drawing.Point[] destPoints, System.Drawing.Rectangle srcRect, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes imageAttr);
public void DrawImage (System.Drawing.Image image, System.Drawing.Point[] destPoints, System.Drawing.Rectangle srcRect, System.Drawing.GraphicsUnit srcUnit, System.Drawing.Imaging.ImageAttributes? imageAttr);
member this.DrawImage : System.Drawing.Image * System.Drawing.Point[] * System.Drawing.Rectangle * System.Drawing.GraphicsUnit * System.Drawing.Imaging.ImageAttributes -> unit
Public Sub DrawImage (image As Image, destPoints As Point(), srcRect As Rectangle, srcUnit As GraphicsUnit, imageAttr As ImageAttributes)
Parametry
- srcUnit
- GraphicsUnit
Element członkowski wyliczenia GraphicsUnit , który określa jednostki miary używane przez srcRect
parametr .
- imageAttr
- ImageAttributes
ImageAttributes określa ponowne kolorowanie i informacje gamma dla image
obiektu.
Wyjątki
image
to null
.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgse
parametru Paint programu obsługi zdarzeń. Kod wykonuje następujące akcje:
Tworzy obraz z pliku JPEG SampImag.jpg w folderze przykładu.
Tworzy punkty definiujące równoległy obraz, w którym ma być rysowanie obrazu.
Tworzy prostokąt, aby wybrać część obrazu do narysowania.
Ustawia jednostkę rysunku grafiki na piksel.
Rysuje oryginalny obraz na ekran.
Tworzy dodatkowy równoległyogram, w którym ma być narysowany obraz.
Tworzy i ustawia atrybuty dostosowanego obrazu, aby mieć większą niż zwykle wartość gamma.
Rysuje dostosowany obraz do ekranu.
W przypadku oryginalnego, nieokreślonego równoległegoogramu pozycja lokalizuje obraz na ekranie, a rozmiar prostokąta oraz rozmiar i kształt równoległegoogramu określa skalowanie i ścinanie rysunkowego obrazu.
private:
void DrawImageParaRectAttrib( PaintEventArgs^ e )
{
// Create image.
Image^ newImage = Image::FromFile( "SampImag.jpg" );
// Create parallelogram for drawing image.
Point ulCorner1 = Point(100,100);
Point urCorner1 = Point(325,100);
Point llCorner1 = Point(150,250);
array<Point>^ destPara1 = {ulCorner1,urCorner1,llCorner1};
// Create rectangle for source image.
Rectangle srcRect = Rectangle(50,50,150,150);
GraphicsUnit units = GraphicsUnit::Pixel;
// Draw original image to screen.
e->Graphics->DrawImage( newImage, destPara1, srcRect, units );
// Create parallelogram for drawing adjusted image.
Point ulCorner2 = Point(325,100);
Point urCorner2 = Point(550,100);
Point llCorner2 = Point(375,250);
array<Point>^ destPara2 = {ulCorner2,urCorner2,llCorner2};
// Create image attributes and set large gamma.
ImageAttributes^ imageAttr = gcnew ImageAttributes;
imageAttr->SetGamma( 4.0F );
// Draw adjusted image to screen.
e->Graphics->DrawImage( newImage, destPara2, srcRect, units, imageAttr );
}
private void DrawImageParaRectAttrib(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create parallelogram for drawing image.
Point ulCorner1 = new Point(100, 100);
Point urCorner1 = new Point(325, 100);
Point llCorner1 = new Point(150, 250);
Point[] destPara1 = {ulCorner1, urCorner1, llCorner1};
// Create rectangle for source image.
Rectangle srcRect = new Rectangle(50, 50, 150, 150);
GraphicsUnit units = GraphicsUnit.Pixel;
// Draw original image to screen.
e.Graphics.DrawImage(newImage, destPara1, srcRect, units);
// Create parallelogram for drawing adjusted image.
Point ulCorner2 = new Point(325, 100);
Point urCorner2 = new Point(550, 100);
Point llCorner2 = new Point(375, 250);
Point[] destPara2 = {ulCorner2, urCorner2, llCorner2};
// Create image attributes and set large gamma.
ImageAttributes imageAttr = new ImageAttributes();
imageAttr.SetGamma(4.0F);
// Draw adjusted image to screen.
e.Graphics.DrawImage(newImage, destPara2, srcRect, units, imageAttr);
}
Private Sub DrawImageParaRectAttrib(ByVal e As PaintEventArgs)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create parallelogram for drawing image.
Dim ulCorner1 As New Point(100, 100)
Dim urCorner1 As New Point(325, 100)
Dim llCorner1 As New Point(150, 250)
Dim destPara1 As Point() = {ulCorner1, urCorner1, llCorner1}
' Create rectangle for source image.
Dim srcRect As New Rectangle(50, 50, 150, 150)
Dim units As GraphicsUnit = GraphicsUnit.Pixel
' Draw original image to screen.
e.Graphics.DrawImage(newImage, destPara1, srcRect, units)
' Create parallelogram for drawing adjusted image.
Dim ulCorner2 As New Point(325, 100)
Dim urCorner2 As New Point(550, 100)
Dim llCorner2 As New Point(375, 250)
Dim destPara2 As Point() = {ulCorner2, urCorner2, llCorner2}
' Create image attributes and set large gamma.
Dim imageAttr As New ImageAttributes
imageAttr.SetGamma(4.0F)
' Draw adjusted image to screen.
e.Graphics.DrawImage(newImage, destPara2, srcRect, units, _
imageAttr)
End Sub
Uwagi
Parametr destPoints
określa trzy punkty parallelogramu. Trzy Point struktury reprezentują lewe górne, prawe górne i lewe dolne rogi równoległegoogramu. Czwarty punkt jest ekstrapolowany z pierwszych trzech do utworzenia równoległego.
Parametr srcRect
określa prostokątną częśćimage
obiektu do rysowania. Ta część jest skalowana i sznana w celu dopasowania do równoległegoogramu określonego destPoints
przez parametr .
Zobacz też
Dotyczy
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla