Как да получите 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