6

我有一个带有自定义控件的 WPF 应用程序。自定义控件将自身呈现为位图,我可以使用以下代码来确定要使用的分辨率,以便位图与显示分辨率匹配。

        PresentationSource ps = PresentationSource.FromVisual(this);
        if (ps != null)
        {
            pixelsPerLogicalUnitX = ps.CompositionTarget.TransformToDevice.M11;
            pixelsPerLogicalUnitY = ps.CompositionTarget.TransformToDevice.M22;
        }

不幸的是,当我通过 PrintDialog 将此控件发送到打印机时,PresentationSource 为空,因此我不知道 DPI。

有没有办法获取打印机的 DPI (或 PresentationSource )?

4

1 回答 1

5

您正在寻找 PrintTicket.PageResolution

http://msdn.microsoft.com/en-us/library/system.printing.printticket.pageresolution.aspx

于 2011-01-04T00:41:12.220 回答