總結C 獲取DPI的幾種方式

2021-08-06 01:30:24 字數 1413 閱讀 3053

螢幕dpi在實際影象顯示中可能會對程式帶來部分問題,這時需要對螢幕dpi做判斷。

以下是常用幾種方式:

1.通過system.drawing類庫進行獲取螢幕的dpi;

using (graphics graphics = graphics.fromhwnd(intptr.zero))

2.通過管理類庫獲取螢幕dpi;

using (managementclass mc = new managementclass("win32_desktopmonitor"))

}}

3.通過win32dll獲取

[dllimport("user32.dll")]

static extern intptr getdc(intptr ptr);

[dllimport("gdi32.dll")]

static extern int getdevicecaps(

intptr hdc, // handle to dc

int nindex // index of capability

);[dllimport("user32.dll", entrypoint = "releasedc")]

static extern intptr releasedc(intptr hwnd, intptr hdc);

const int horzres = 8;

const int vertres = 10;

const int logpixelsx = 88;

const int logpixelsy = 90;

const int desktopvertres = 117;

const int desktophorzres = 118;

/// /// 獲取螢幕解析度當前物理大小

///

public static size workingarea

}/// /// 當前系統dpi_x 大小 一般為96

///

public static int dpix

}/// /// 當前系統dpi_y 大小 一般為96

///

public static int dpiy

}/// /// 獲取真實設定的桌面解析度大小

///

public static size desktop

}/// /// 獲取寬度縮放百分比

///

public static float scalex

}/// /// 獲取高度縮放百分比

///

public static float scaley

}#endregion

C 獲取當前螢幕DPI

原文 c 獲取當前螢幕dpi 1.通過graphics類獲取 graphics currentgraphics graphics.fromhwnd new windowinterophelper mainwindow handle double dpixratio currentgraphics.d...

獲取Resource幾種方式

獲取resource幾種方式 此介面的全名為 org.springframework.core.io.resource 比較常用的資源定義的實現類為 classpathresource classpath中讀取 filesystemresource 檔案系統中讀取 servletcontextres...

獲取Resource幾種方式

此介面的全名為 org.springframework.core.io.resource 比較常用的資源定義的實現類為 classpathresource classpath 中讀取 filesystemresource 檔案系統中讀取 servletcontextresource 讀取 tomca...