我有一个带有自定义控件的 WPF 应用程序。自定义控件将自身呈现为位图,我可以使用以下代码来确定要使用的分辨率,以便位图与显示分辨率匹配。
PresentationSource ps = PresentationSource.FromVisual(this);
if (ps != null)
{
pixelsPerLogicalUnitX = ps.CompositionTarget.TransformToDevice.M11;
pixelsPerLogicalUnitY = ps.CompositionTarget.TransformToDevice.M22;
}
不幸的是,当我通过 PrintDialog 将此控件发送到打印机时,PresentationSource 为空,因此我不知道 DPI。
有没有办法获取打印机的 DPI (或 PresentationSource )?