This documentation is for the old version. Go to the latest Graphics Mill docs

Bitmap.Draw Method (IntPtr, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, CombineMode, Single, InterpolationMode)

Draws current bitmap on given Windows GDI device context (represented as handle to device context, i.e. HDC).

Namespace: Aurigma.GraphicsMill
Assembly: Aurigma.GraphicsMill (in Aurigma.GraphicsMill.dll)

Syntax

Visual Basic
Public Sub Draw ( _
	hdc As IntPtr, _
	destinationX As Integer, _
	destinationY As Integer, _
	destinationWidth As Integer, _
	destinationHeight As Integer, _
	sourceX As Integer, _
	sourceY As Integer, _
	sourceWidth As Integer, _
	sourceHeight As Integer, _
	combine As CombineMode, _
	opacity As Single, _
	interpolationMode As InterpolationMode _
)
C#
public void Draw(
	IntPtr hdc,
	int destinationX,
	int destinationY,
	int destinationWidth,
	int destinationHeight,
	int sourceX,
	int sourceY,
	int sourceWidth,
	int sourceHeight,
	CombineMode combine,
	float opacity,
	InterpolationMode interpolationMode
)

Parameters

hdc

Type: System.IntPtr

Target handle to device context (on which current bitmap should be drawn).
destinationX

Type: System.Int32

Horizontal position of left-top corner of the destination rectangle.
destinationY

Type: System.Int32

Vertical position of left-top corner of the destination rectangle.
destinationWidth

Type: System.Int32

Width of the destination rectangle. You can pass 0 to indicate that method should calculate width automatically (see Remarks section for details).
destinationHeight

Type: System.Int32

Height of the destination rectangle. You can pass 0 to indicate that method should calculate height automatically (see Remarks section for details).
sourceX

Type: System.Int32

Horizontal position of left-top corner of the source rectangle.
sourceY

Type: System.Int32

Vertical position of left-top corner of the source rectangle.
sourceWidth

Type: System.Int32

Width of the source rectangle. You can pass 0 to indicate that method should calculate width automatically (see Remarks section for details).
sourceHeight

Type: System.Int32

Height of the source rectangle. You can pass 0 to indicate that method should calculate height automatically (see Remarks section for details).
combine

Type: Aurigma.GraphicsMill.Transforms.CombineMode

Algorithm of images blending (plain pixels copying, alpha blending, bitwise operations, etc).
opacity

Type: System.Single

A number in range [0, 1] specifying total opacity of the image. If 0, image is completely transparent, if 1, image is completely opaque.
interpolationMode

Type: Aurigma.GraphicsMill.Transforms.InterpolationMode

Algorithm of resizing. Using this parameter you can select between speed and quality of resizing.

Remarks

Pixels from source rectangle of current bitmap are drawn to destination rectangle on the given HDC. If source rectangle dimensions differ from dimensions of destination rectangle, pixels are resized to have the same size as destination rectangle.

Note

If bitmap has pixel format which is not GDI-compatible (e.g. extended pixel formats, CMYK, etc) method will automatically create a copy converted to the Format32bppArgb. That's why you always get it drawn, but if you are going to call this method multiple times, it is recommended to convert it to some GDI-compatible format (like Format32bppArgb) to increase the performance.

If you want method to calculate width and height automatically, you can pass 0 to these arguments. It will be calculated with the following way:

  1. If both width and heigth (both for source and destination rectangles) are 0, it will take source image dimensions (Width and Height properties). This way no resize will be done during drawing.
  2. If only one of arguments is 0, it will calculate this argument to save proportion. For example, source image is 800x600, and you pass 400 as width and 0 as height. Height will be calculated to preserve aspect ratio of the image, i.e. it will be equal to 300.

All coordinates are measured in units specified with Unit property of the source bitmap.

See Also

Reference

Manual