我有一个带自定义控件的WPF应用程序。自定义控件将自身呈现为位图,我可以使用以下代码来确定要使用的分辨率,以便位图与显示分辨率匹配。
PresentationSource ps = PresentationSource.FromVisual(this);
if (ps != null)
{
pixelsPerLogicalUnitX = ps.CompositionTarget.TransformToDevice.M11;
pixelsPerLogicalUnitY = ps.CompositionTarget.TransformToDevice.M22;
}
不幸的是,当我通过PrintDialog将此控件发送到打印机时,PresentationSource为空,因此我不知道DPI。
有没有办法获得打印机的DPI(或PresentationSource)?
答案 0 :(得分:5)
您正在寻找PrintTicket.PageResolution
http://msdn.microsoft.com/en-us/library/system.printing.printticket.pageresolution.aspx