| 

.NET C# Java Javascript Exception

4
Wie kann ich auf einem Windowssystem die Grafikeinstellungen insbesondere die eingestellte Farbqualität ermitteln (16Bit/32Bit)?
09.12.2009
Mario Priebe 5,8k 2 9
2 Antworten
5
Hmm evtl. gehts auch über eine interne Funktion vom VS, aber mir fällt jetzt nur die Möglichkeit über die DLLs ein.

// using System.Runtime.InteropServices;

[DllImport("gdi32.dll")]
protected static extern int GetDeviceCaps(int hDC, int nIndex);
[DllImport("user32.dll")]
protected static extern int GetDC(int hwnd);
[DllImport("user32.dll")]
protected static extern int ReleaseDC(int hwnd, int hDC);

static void Farbtiefe()
{
int hDC = GetDC(0);
int Pixels = GetDeviceCaps(hDC, 12);
int x = ReleaseDC(0, hDC);

string rlt = "";
switch (Pixels)
{
case 1: rlt = "Monochrom"; break;
case 4: rlt = "16 Farben"; break;
case 8: rlt = "256 Farben"; break;
case 16: rlt = "HighColor (16 Bit)"; break;
case 32: rlt = "TrueColor (32 Bit)"; break;
}
}


siehe http://msdn.microsoft.com/de-de/library/bb979366.aspx

Grüßle
09.12.2009
Scout 1,4k 1 8
Scout 1,4k 1 8
Vielen Dank!
Mario Priebe 09.12.2009
0
Schau Dir mal die Screen Klasse an.
Für die Farbtiefe sollte das hier gut sein:
Screen.PrimaryScreen.BitsPerPixel
09.12.2009
DaSpors 4,1k 1 8
Ich vergaß zu sagen, das ich was für WPF suche, die Screen-Klasse ist in Windows.Forms verfügbar
Mario Priebe 09.12.2009

Stelle deine .net-Frage jetzt!