如何在WPF中获取打印机的DPI

时间:2011-01-03 19:35:05

标签: wpf printing dpi

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

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

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

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

1 个答案:

答案 0 :(得分:5)