Reputation: 25905
I have a WPF application with a custom control. The custom control renders itself to a bitmap and I am able to use the following code to figure out what resolution to use so that the bitmap matches the display resolution.
PresentationSource ps = PresentationSource.FromVisual(this);
if (ps != null)
{
pixelsPerLogicalUnitX = ps.CompositionTarget.TransformToDevice.M11;
pixelsPerLogicalUnitY = ps.CompositionTarget.TransformToDevice.M22;
}
Unfortunately, when I send this control to the printer through a PrintDialog, the PresentationSource is null so I don't know the DPI.
Is there a way to get the DPI ( or a PresentationSource ) for the printer?
Upvotes: 6
Views: 2654
Reputation: 29083
you are looking for PrintTicket.PageResolution
http://msdn.microsoft.com/en-us/library/system.printing.printticket.pageresolution.aspx
Upvotes: 5