# HiDPI 截图默认显示过大

**URL:** https://meta.discourse.org/t/hidpi-screenshots-appear-too-large-by-default/158061
**Category:** Feature
**Created:** [2020年七月17日 18:06 UTC](https://meta.discourse.org/t/hidpi-screenshots-appear-too-large-by-default/158061 "2020-07-17T18:06:09Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![dfabulich](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dfabulich/32/108716_2.png) [@dfabulich](https://meta.discourse.org/u/dfabulich)
#### Post date: [2020年七月17日 18:06 UTC](https://meta.discourse.org/t/hidpi-screenshots-appear-too-large-by-default/158061/1 "2020-07-17T18:06:09Z")

</div>

我使用的是 16 英寸 MacBook Pro。这是刚截取的 Discourse 标志截图。

![logo](https://global.discourse-cdn.com/meta/original/3X/5/2/52d32715fcad9c8dc5a0996a27ba37eb6a08fe41.png)

这个太大了；默认情况下应显示为 50%。

![logo](https://global.discourse-cdn.com/meta/original/3X/5/2/52d32715fcad9c8dc5a0996a27ba37eb6a08fe41.png)

可以通过读取 PNG 元数据来检测这一点。例如，这是 ImageMagick 的元数据：

```plaintext
$ identify -verbose logo.png | head
Image:
  Filename: logo.png
  Format: PNG (Portable Network Graphics)
  Mime type: image/png
  Class: DirectClass
  Geometry: 312x90+0+0
  Resolution: 144x144
  Print size: 2.16667x0.625
  Units: PixelsPerInch
  Colorspace: sRGB

```

HiDPI 图像的分辨率为 144x144。

Discourse 应检测到此情况，并默认将图像缩放至 50% 显示。

---

<div class="post-metadata">

### Author: ![seanblue](https://avatars.discourse-cdn.com/v4/letter/s/dc4da7/32.png) [@seanblue](https://meta.discourse.org/u/seanblue)
#### Post date: [2020年七月17日 20:38 UTC](https://meta.discourse.org/t/hidpi-screenshots-appear-too-large-by-default/158061/2 "2020-07-17T20:38:10Z")

</div>

如果能自动检测，那当然再好不过了。我的电脑缩放比例设为 125%，因此我的截图默认显示得也总是过大。

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [2020年七月17日 22:31 UTC](https://meta.discourse.org/t/hidpi-screenshots-appear-too-large-by-default/158061/3 "2020-07-17T22:31:16Z")

</div>

不幸的是，它并不适用于所有情况，例如 iOS 截图似乎完全缺少 Image/Resolution 字段。（iOS 13.6）

---

<div class="post-metadata">

### Author: ![dfabulich](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dfabulich/32/108716_2.png) [@dfabulich](https://meta.discourse.org/u/dfabulich)
#### Post date: [2020年七月18日 01:36 UTC](https://meta.discourse.org/t/hidpi-screenshots-appear-too-large-by-default/158061/4 "2020-07-18T01:36:54Z")

</div>

这取决于你如何存储截图。如果你将截图保存到“文件”中，它会以 PNG 格式保存，并保留分辨率信息。如果你将截图保存到“照片”中，然后从那里上传，分辨率信息将会丢失。（我认为它可能是先将图像保存为 HEIF 格式，然后再转码为 PNG 或其他格式。）

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [2020年七月18日 02:21 UTC](https://meta.discourse.org/t/hidpi-screenshots-appear-too-large-by-default/158061/5 "2020-07-18T02:21:54Z")

</div>

当然，根据我们用户的反馈，后一种情况更为常见。只有在您中断截图并手动重定向时，截图才会保存到文件中。

---

<div class="post-metadata">

### Author: ![dfabulich](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dfabulich/32/108716_2.png) [@dfabulich](https://meta.discourse.org/u/dfabulich)
#### Post date: [2020年七月18日 07:30 UTC](https://meta.discourse.org/t/hidpi-screenshots-appear-too-large-by-default/158061/6 "2020-07-18T07:30:41Z")

</div>

我认为也可以利用一些启发式方法来检测 iPhone 截图（例如来自苹果设备的 PNG 文件，其尺寸与 iPhone 屏幕完全一致……）

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [2020年七月18日 12:55 UTC](https://meta.discourse.org/t/hidpi-screenshots-appear-too-large-by-default/158061/7 "2020-07-18T12:55:35Z")

</div>

我确实考虑过这一点，但我在这里分享的许多截图都经过了裁剪，要么是为了隐私，要么是为了聚焦特定元素。

我并不否认 HiDPI 在这里是个不便之处，通常我只需在 Markdown 中将尺寸减半即可解决。
