This document is archived and information here might be outdated. Recommended version. |
Renders the view to the specified DC.
[Visual Basic .NET] Public Sub Output ( _ ByVal hDC As Integer, _ ByVal Dpi As Integer, _ ByRef pixelBounds As tagRECT, _ ByVal VisibleBounds As IEnvelope, _ ByVal TrackCancel As ITrackCancel _ )
[C#] public void Output ( int hDC, int Dpi, ref tagRECT pixelBounds, ref IEnvelope VisibleBounds, ref ITrackCancel TrackCancel );
[C++]
HRESULT Output(
OLE_HANDLE hDC,
long Dpi,
tagRECT* pixelBounds,
IEnvelope* VisibleBounds,
ITrackCancel* TrackCancel
);
[C++]
Parameters hDC [in]
hDC is a parameter of type OLE_HANDLE Dpi [in]
Dpi is a parameter of type long pixelBounds [in]
pixelBounds is a parameter of type tagRECT* VisibleBounds [in]
VisibleBounds is a parameter of type IEnvelope* TrackCancel [in]
TrackCancel is a parameter of type ITrackCancel*
This method is used to draw to a non-app window hDC (see Windows GDI for more info). The ArcMap printing and exporting commands use this method. When drawing to an hWnd, normally IActiveView::Draw is used instead of this method because it handles caching and scrollbars.
Parameter use is as follows:
hDC - Output device.
dpi - Dots per inch (resolution). If Null is passed then this defaults to the resolution of the hDC. If that cannot be sampled, then this defaults to the window resolution.
pixelBounds - Device rectangle specified in pixels.
VisibleBounds - Zoom extent. If Null is passed then this defaults to the current visible extent.
All other display attributes are copied from the ActiveView.
If you want to draw the data frame to a 640x480 bitmap for example, specify the following parameter values:
dpi - 0
pixel bounds - { 0, 0, 640, 480 }
visible bounds - 0
If you want to create a bitmap that will print 8.5 x 11 on a 300 DPI printer, specify the following parameter values:
dpi - 300
pixel bounds - { 0, 0, 8.5 * dpi, 11 * dpi }
visible bounds - 0
If you want to zoom to a certain location and draw it on a 300x300 bitmap, specify the following parameter values:
dpi - 0
pixel bounds - { 0, 0, 300, 300 }
visible bounds - { -45.0, 44.0, -44.0, 45.0 }
The value of IDisplayTransformation::Resolution does not affect the results of this method.
The value of IOutputRasterSettings::ResampleRatio does affect the results of the this method. When rasters are drawn, they get resampled as specified in this attribute.