0

这篇文章中,我想知道为什么我的 png 文件在视网膜显示器上显示不好。

我最终发现问题来自PNG文件本身:当我打开它并用photoshop或其他东西再次保存时,问题就消失了。

正如这篇文章所建议的那样,我使用 sips 命令来查看我的 PNG 文件究竟是由什么组成的。我有original-image.png(有故障)和photoshoped-image.png

命令

sips original-image.png -g all

给我

  pixelWidth: 256
  pixelHeight: 256
  typeIdentifier: public.png
  format: png
  formatOptions: default
  dpiWidth: 72.000
  dpiHeight: 72.000
  samplesPerPixel: 3
  bitsPerSample: 8
  hasAlpha: no
  space: RGB

sips photoshoped-image.png -g all

给我

  pixelWidth: 256
  pixelHeight: 256
  typeIdentifier: public.png
  format: png
  formatOptions: default
  dpiWidth: 72.000
  dpiHeight: 72.000
  samplesPerPixel: 4
  bitsPerSample: 8
  hasAlpha: yes
  space: RGB
  profile: HD 709-A

所以有3个区别:

  • 每像素样本
  • 有阿尔法
  • Photoshop 文件有一个配置文件。

但是这些属性在 sips 中是只读的,我想知道如何更改它们以准确了解错误的来源。

任何想法 ?

4

2 回答 2

1

所以使用 sips 你可以输出不同的文件。获取 Photoshop 文件并开始修改它。先去掉profile,然后去掉alpa通道(会影响前两个变量)。

这个图像很可能有效。PNG 有许多选项,原始图像可能具有使用这些工具看不到的其他一些功能。Photoshop 显然是在完全重写图像,使用 RGB 值作为文件之间唯一的共同属性。

我怀疑当您执行上述操作时,该图像也会起作用。原件有一些奇怪的地方。

在任何情况下,如果您使用带有 alpha 通道的 png,则在 iOS 上会更容易,因为如果基础图像没有,它会将它们转换为有一个。

于 2012-07-23T13:09:14.897 回答
0

在某些文件上,这有效:

sips -s format png '/Volumes/HD/Optimized PNG/TXT - Section Depth copy.png' --out '/Volumes/HD/Optimized PNG/TXT - Section Depth copy-.PNG' /Volumes/HD/Optimized PNG /TXT - 部分深度复制.png /Volumes/HD/Optimized PNG/TXT - 部分深度复制-.PNG mis-bhayward61p-swk:~ zav$

但是,有时它不会:

sips -s format png --setProperty hasAlpha 0 '/Volumes/HD/Optimized PNG/Subsection copy 2/Section Depth Text.png' --out '/Volumes/HD/Optimized PNG/Subsection copy 2/Section Depth Text-. PNG' /Volumes/HD/Optimized PNG/Subsection copy 2/Section Depth Text.png 错误:无法在文件/Volumes/HD/Optimized PNG/Subsection copy 2/Section Depth Text-.PNG mis-bhayward61p 上执行 --setProperty hasAlpha -swk:~ zav$

希望这能让你走得更远。

于 2012-09-05T18:31:53.710 回答