2011-01-03 3 views
6

У меня есть приложение WPF с настраиваемым элементом управления. Пользовательский элемент управления отображает растровое изображение, и я могу использовать следующий код, чтобы выяснить, какое разрешение использовать, чтобы битмап соответствовал разрешению экрана.Как получить 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) для принтера?

ответ