计算机系统基础DPI
时间: 2024-04-08 13:26:39 浏览: 19
DPI(Dots Per Inch)是计算机系统中用来描述打印机、扫描仪、显示器等设备分辨率的单位。它表示每英寸内的像素数量,也可以理解为每英寸内的点数。
在打印机中,DPI指的是打印机每英寸可以打印的点数,也就是打印机的分辨率。较高的DPI值表示打印机可以打印更多的点,从而获得更高的打印质量和更细腻的图像。
在扫描仪中,DPI指的是扫描仪每英寸可以扫描的点数,也就是扫描仪的分辨率。较高的DPI值表示扫描仪可以捕捉更多的细节,从而获得更高质量的扫描图像。
在显示器中,DPI指的是显示器每英寸可以显示的像素数量,也就是显示器的分辨率。较高的DPI值表示显示器可以显示更多的像素,从而呈现更清晰、更细腻的图像和文字。
总结一下,DPI是描述打印机、扫描仪、显示器等设备分辨率的单位,它表示每英寸内的像素数量或点数。
相关问题
android 将应用强制使用系统DPI
在 Android 中,可以使用以下代码强制应用程序使用系统 DPI:
```
android.content.res.Configuration config = getResources().getConfiguration();
config.densityDpi = DisplayMetrics.DENSITY_DEFAULT;
getResources().updateConfiguration(config, getResources().getDisplayMetrics());
```
其中 `DENSITY_DEFAULT` 表示系统默认 DPI。将 `densityDpi` 设置为 `DENSITY_MEDIUM`、`DENSITY_HIGH` 或 `DENSITY_XHIGH` 等值也可以强制应用程序使用相应 DPI。请注意,这种强制使用系统 DPI 的方法可能会导致应用程序的布局和 UI 出现问题,因此需要谨慎使用。
android 11系统源码置dpi流程
在 Android 11 系统中,DPI 的设置是与 Display Metrics 相关的,因此需要在系统源码中进行设置。
以下是在 Android 11 源码中设置 DPI 的大致流程:
1. 在系统启动时,会读取 `/system/build.prop` 文件中的 `ro.sf.lcd_density` 属性值,并将其转换为 Display Metrics 中的 densityDpi 值。
2. 在 `frameworks/base/core/java/android/view/DisplayInfo.java` 文件中,定义了 Display Metrics 的各项属性值,包括 densityDpi。
3. 在 `frameworks/base/core/java/android/hardware/display/DisplayManagerGlobal.java` 文件中,定义了获取 Display Info 的方法 `getDisplayInfo(displayId, outDisplayInfo)`,其中 outDisplayInfo 包含了 Display Metrics 的各项属性值。
4. 在 `frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.java` 文件中,定义了设置 Display Metrics 的方法 `setInitialDisplaySize(displayId, width, height, densityDpi)`,这个方法会将 Display Metrics 的各项属性值写入到系统属性中。
5. 在 `frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.java` 文件中,定义了读取系统属性的方法 `getInitialDisplayDensity(displayId)`,这个方法会从系统属性中读取 densityDpi 值,并将其返回。
6. 在 `frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.java` 文件中,定义了获取 Display Info 的方法 `getDisplayInfo(displayId)`,这个方法会调用 `getDisplayInfo(displayId, outDisplayInfo)` 方法,并将 outDisplayInfo 中的 Display Metrics 信息返回。
通过以上流程,就可以在 Android 11 系统中设置 DPI 值,并在运行时获取到 DPI 值。