Как получить DPI принтера в WPF

У меня есть приложение WPF с пользовательским элементом управления. Пользовательский элемент управления отображает себя в растровое изображение, и я могу использовать следующий код, чтобы выяснить, какое разрешение использовать, чтобы растровое изображение соответствовало разрешению экрана.

        PresentationSource ps = PresentationSource.FromVisual(this);
        if (ps != null)
        {
            pixelsPerLogicalUnitX = ps.CompositionTarget.TransformToDevice.M11;
            pixelsPerLogicalUnitY = ps.CompositionTarget.TransformToDevice.M22;
        }

К сожалению, когда я отправляю этот элемент управления на принтер через PrintDialog, PresentationSource имеет значение null, поэтому я не знаю DPI.

Есть ли способ получить DPI (или PresentationSource) для принтера?


person Adam Tegen    schedule 03.01.2011    source источник


Ответы (1)


вы ищете PrintTicket.PageResolution

http://msdn.microsoft.com/en-us/library/system.printing.printticket.pageresolution.aspx

person Robert Levy    schedule 04.01.2011