У меня есть приложение 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) для принтера?