物理分辨率与逻辑分辨率
Posted personnel
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了物理分辨率与逻辑分辨率相关的知识,希望对你有一定的参考价值。
之前一直没搞清楚 win 10 DPI: 200%,到底是哪个坐标受到影响。
今天算是搞明白了。
与鼠标相关的,比如点击,移动操作使用的相关坐标依据的是【逻辑分辨率】
与屏幕取色、截图,找图相关的坐标,依据的是【物理分辨率】
HWND hwnd_desktop = GetDesktopWindow(); HDC hdc = GetWindowDC(hwnd_desktop); //【物理分辨率】:显示屏的最佳分辨率 ( win 10 上【显示分辨率】中设置的分辨率 ) int w1 = GetDeviceCaps(hdc, DESKTOPHORZRES); int h1 = GetDeviceCaps(hdc, DESKTOPVERTRES); ReleaseDC(hwnd_desktop, hdc); //释放 printf("物理分辨率:%d x %d ", w1, h1);
HWND hwnd_desktop = GetDesktopWindow(); HDC hdc = GetWindowDC(hwnd_desktop); int w2 = GetDeviceCaps(hdc, HORZRES); //【逻辑分辨率】 int h2 = GetDeviceCaps(hdc, VERTRES); ReleaseDC(hwnd_desktop, hdc); //释放 printf("逻辑分辨率:%d x %d ", w2, h2);
//【物理分辨率】与【逻辑分辨率】的缩放比例 float dpiScaleX = w1 * 1.0 / w2; float dpiScaleY = h1 * 1.0 / h2; printf("scaleX:%f, scaleY:%f ", dpiScaleX, dpiScaleY);
以上是关于物理分辨率与逻辑分辨率的主要内容,如果未能解决你的问题,请参考以下文章
图文并茂带你弄懂物理分辨率分辨率物理像素逻辑像素dprppi
各型号iPhone的屏幕参数 逻辑分辨率 物理分辨率 - iOS Device Display Summary - 更新到iPhone 13系列