# DPI简介

DPI是图像每英寸长度内的像素点数。本说明文件里的提到的DPI都是显示器DPI，不是鼠标DPI，不要弄混了。改变DPI可以缩放应用程序的窗口。windows系统中显示器DPI可以自己设置，在“屏幕分辨率”或“显示设置”里可以找到它的设置，不同系统中这个设置的说法有点差异，例如：WIN7中是“放大或缩小文本和其它项目”，WIN10中是“更改文本、应用等项目的大小”（WIN10各版本有差异，有些版本可能不一样）。

windows为了兼容老程序，DPI有多种设置，WIN8.1以前有“无DPI感知”和“系统DPI感知”两种，WIN8.1开始因为支持多显示器不同DPI，又增加了“每个显示器DPI感知”。不同DPI感知的坐标是不同的。每个进程可以单独设置自己的DPI感知上下文，在WIN10中甚至可以每个线程设置不同的DPI感知上下文。

“无DPI感知”：这是为了兼容不支持DPI缩放的程序，系统自动帮它处理程序窗口缩放文件，但处理得很差，显示器DPI不是100%时界面文字会模糊，且与屏幕有关的API坐标与显示器像素不是一一对应关系。

“系统DPI感知”：在WIN8.1以前，与屏幕有关的API坐标与显示器像素是一一对应关系，从WIN8.1开始，如果其它显示器与主显示器DPI不同，程序窗口在其它显示器中会变模糊，且与屏幕有关的API坐标在其它显示器中像素不是一一对应关系。

“每个显示器DPI感知”：与屏幕有关的API坐标与显示器像素是总是一一对应关系。

当显示器DPI都是100%时，几种DPI感知的上文中，与屏幕有关的API坐标与显示器像素都是一一对应关系。