Bitmap.DrawOn Method (IntPtr, Int32, Int32, Int32, Int32, CombineMode, Single, ResizeInterpolationMode)

Draws the current bitmap on a 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

C#
public void DrawOn(
	IntPtr hdc,
	int destinationX,
	int destinationY,
	int destinationWidth,
	int destinationHeight,
	CombineMode combine,
	float opacity,
	ResizeInterpolationMode interpolationMode
)

Parameters

hdc

Type: System.IntPtr

A handle to device context on which the current bitmap should be drawn.
destinationX

Type: System.Int32

The x-coordinate of the upper-left corner of the drawn image.
destinationY

Type: System.Int32

The y-coordinate of the upper-left corner of the drawn image.
destinationWidth

Type: System.Int32

Width of the drawn image.
destinationHeight

Type: System.Int32

Height of the drawn image.
combine

Type: Aurigma.GraphicsMill.Transforms.CombineMode

The images blending algorithm (plain pixels copying, alpha blending, bitwise operations, etc).
opacity

Type: System.Single

The opacity of the image in range [0, 1]. If 0, image is completely transparent, if 1, image is completely opaque.
interpolationMode

Type: Aurigma.GraphicsMill.Transforms.ResizeInterpolationMode

The resize algorithm. Using this parameter you can select between speed and quality of resizing.

Remarks

The bitmap is drawn to the destination rectangle on the given System.Drawing.Graphics object with dimensions equal to the dimensions of the bitmap.

Note

If the 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 the bitmap to some GDI-compatible format (like Format32bppArgb) to increase the performance.

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

  1. If both width and heigth are 0, it will take source image dimensions (Width and Height properties). This way the image will not be resized during drawing.
  2. If only one of arguments is 0, it will calculate this argument to save proportion. For example, the 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 300.

See Also

Reference

Manual