Graphics.VisibleClipBounds para la impresora

09/12/2005 - 09:07 por Leonardo | Informe spam
La documentación dice:
Obtiene o establece el rectángulo delimitador que corresponde a la
región de recorte visible de este objeto Graphics.

No veo la relación entre el concepto "recorte visible" cuando se aplica a un
objeto graphics correspondiente al evento PrintPage.

No sé que propiedad de graphics o eventos de impresión debería usar para
obtener la información correspondiente al área de impresión sin recurrir a
las API:

1)
Dim h As Integer = GetDeviceCaps(hdc, HORZRES)
Dim v As Integer = GetDeviceCaps(hdc, VERTRES)
2)
Dim x As Integer = GetDeviceCaps(hdc, PHYSICALOFFSETX)
Dim y As Integer = GetDeviceCaps(hdc, PHYSICALOFFSETY)

Está claro que VisibleClipBounds me da la información asociada al punto 1 si
no es Preview ni metafile:

Dim p As New PrinterSettings
Dim ps As PageSettings = p.DefaultPageSettings
ps.Landscape = True
Dim gp As Graphics = p.CreateMeasurementGraphics()
gp.PageUnit = GraphicsUnit.Millimeter
Dim sz As SizeF = gp.VisibleClipBounds.Size '(Ok)

Dim r As New RectangleF(0, 0, sz.Width * 100, sz.Height * 100)
dim myMetafile as New Metafile(hdc, r) ', MetafileFrameUnit.GdiCompatible,
Dim g As Graphics = Graphics.FromImage(myMetafile)
Dim szMf As SizeF = g.VisibleClipBounds.Size ' (No Vale)

Preguntas similare

Leer las respuestas

Search Busqueda sugerida