2016-04-14 8 views
1

Ich suchte viel nach der Auflösung meiner Windows 8.1 Universal App.
Ich weiß, dass wir mit der Höhe und Breite des Bildschirms zu erreichen:Get Auflösung in Windows 8.1 Universal

var screenHeight = Window.Current.Bounds.Height; 
var screenWidth = Window.Current.Bounds.Width; 

aber es ist nicht Auflösung. Ich möchte den Wert "1366 * 768" oder "1920 * 1080" erhalten. Ich weiß auch über ResolutionScale:

var scaleFactor = DisplayInformation.GetForCurrentView().ResolutionScale; 

Es gibt für mich immer 100%. Es hilft mir nicht, Breite und Höhe in Bildschirmauflösung zu konvertieren. Ich brauche eine Auflösung in Windows 8.1 Universal. Es ist für mich sehr wichtig.
Also wenn ich keine Bildschirmauflösung in Windows 8.1 universal bekomme, so wie kann ich Schriftarten für unterschiedliche Bildschirmauflösung skalieren. Was unternehmen andere Programmierer für dieses Problem?
Ist es möglich, mir zu helfen?
Es tut mir leid für schlecht Englisch.
Danke.

Antwort

0

Sie können pro logischem Zoll bekommen Pixel auf diese Weise:

double dpi = DisplayInformation.GetForCurrentView().RawDpiY; 

wird es die rohen Punkte pro Zoll (DPI) entlang der y-Achse des Anzeigemonitor und 0 zurück, wenn Sie zwei Anzeigen in zweifacher Ausfertigung haben Modus.

phisical Bildschirmgröße erhalten Sie verwenden können:

double screenDiagonal = Math.Sqrt(Math.Pow(screenWidth/dpi, 2) + Math.Pow(screenHeight/dpi, 2)); 

zu bekommen Pixel versuchen Sie dies:

var scaleFactor = DisplayInformation.GetForCurrentView().RawPixelsPerViewPixel; 
double w=screenWidth*scaleFactor; 
double h=screenheight*scaleFactor; 

Das ist für WP8.1 und UWP. Für Windows 8.1 Store Apps versuchen ResolutionScale:

ResolutionScale resolutionScale = DisplayInformation.GetForCurrentView().ResolutionScale; 
double scaleFactor = (double)resolutionScale/100.0; 
+0

Danke für die Antwort. Die Sache, dass ich etwas wie scaleFactor brauche, aber es funktioniert nur für Windows Phone 8.1. Wie kann ich screenDiagonal in eine Auflösung wie diese konvertieren: "1366 * 768"? Ist es möglich, mir zu helfen? – Amin

+0

für Windows Store-Anwendungen versuchen, ResolutionScale –

+0

zu verwenden Wie kann ich ResolutionScale verwenden. Es gibt 100% für mich zurück. es bedeutet 100/100 = 1, also muss ich w = screenWidth * 1 verdoppeln; Aber es stimmt nicht. Es gibt meine Bildschirmauflösung nicht zurück ?! Ich benutze es wahr oder nicht? – Amin

Verwandte Themen