V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
chenluois
V2EX  ›  macOS

可恶的 HiDPI,以后 Preferences 图标也得做两种尺寸了

  •  
  •   chenluois · 2012-03-14 14:01:03 +08:00 · 5261 次点击
    这是一个创建于 4429 天前的主题,其中的信息可能已经有所发展或是发生改变。
    开 HiDPI 模式看了一下,32x32 像素的 Preferences 图标已经模糊的不行。
    以后得额外做一个 128x128 像素的,和 32x32 像素的打包成一个 .icns,才能保证清晰。
    24 条回复    1970-01-01 08:00:00 +08:00
    jjgod
        1
    jjgod  
       2012-03-14 14:29:44 +08:00
    Just use PDF.
    robinray
        2
    robinray  
       2012-03-14 15:20:11 +08:00
    怎么打开?
    lianghai
        3
    lianghai  
       2012-03-14 15:38:14 +08:00
    呃为什么是 128 像素见方?……
    shendancan
        4
    shendancan  
       2012-03-14 15:55:04 +08:00
    用矢量图吧
    est
        5
    est  
       2012-03-14 16:03:06 +08:00
    @jjgod app资源可以用pdf?
    soulhacker
        6
    soulhacker  
       2012-03-14 16:14:44 +08:00
    唉,一想到还要等很久才能看到大部分 app 完全支持 Retina Display 就焦虑……
    ydhydh
        7
    ydhydh  
       2012-03-14 16:35:59 +08:00
    chenluois
        8
    chenluois  
    OP
       2012-03-14 16:44:27 +08:00
    @jjgod @shendancan 矢量PDF 细节表现相比像素还是难了一点儿,简单的图形比较适合。
    chenluois
        9
    chenluois  
    OP
       2012-03-14 16:57:00 +08:00
    @lianghai 128 这个数字是参照 Apple 最近对自身图标的优化得出来的,照猫画虎。

    以前

    /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/

    目录下的 General.icns, ProfileBackgroundColor.icns, ProfileFontAndColor.icns 等其他 Preferences 图标只有 32x32 像素,
    最近被更新成了每个 .icns 都包含两种尺寸,128x128 和 32x32。
    chenluois
        10
    chenluois  
    OP
       2012-03-14 18:00:34 +08:00
    @robinray 用 Quartz Debug 可以打开 HiDPI 模式。
    lianghai
        11
    lianghai  
       2012-03-15 00:04:20 +08:00
    @chenluois:好神奇……那么在 HiDPI 模式之下的 Preferences 图标实际上就都是缩小到 50% 来显示的?
    chenluois
        12
    chenluois  
    OP
       2012-03-15 07:41:40 +08:00 via iPhone
    @lianghai 不是缩小。是一个像素变两个像素的问题。这个 HiDPI 模式是为将来配 Retina 屏的 Mac 准备的。在普通屏幕上开启是变大。

    就是 iPhone 3GS 和 iPhone 4 屏幕显示的区别,这么说明白了吧?
    scriptfans
        13
    scriptfans  
       2012-03-15 08:59:44 +08:00
    期待retina的MBP,实在是有点等不及了……
    gonghao
        14
    gonghao  
       2012-03-15 09:56:20 +08:00
    @chenluois 好奇怪,为什么我没有 /Developer 目录呀,已经正确安装 Xcode 4.3,homebrew 也正常~所以就找不到 Quartz Debug,faint~
    gonghao
        15
    gonghao  
       2012-03-15 10:00:54 +08:00
    @chenluois 原来 4.3.1 那么小,就是把东西都拿出来,所以还得自己去下个 Graphics Tools for Xcode - March 2012

    ref: https://developer.apple.com/downloads/index.action
    lex
        16
    lex  
       2012-03-15 10:57:09 +08:00
    用矢量图的话,或者从大图缩小的话,怎样保证缩小后的一个point正好卡在一个pixel上,没算好就可能会发虚。所以为了保证32x32的质量,是不是还是得做两张图。
    lianghai
        17
    lianghai  
       2012-03-15 14:03:55 +08:00
    @chenluois: 我知道啊,但如果像大家所想,未来 Mac 的屏幕也像现在 iPhone 和第三代 iPad 的 Retina 屏幕一样是物理像素和逻辑像素之比 2:1,不是只需要 64 px 见方吗?为什么是 128 px 见方?
    chenluois
        18
    chenluois  
    OP
       2012-03-15 15:40:58 +08:00
    @lianghai 你如果在问我为什么用 128,#9 不是已经答过你了么,跟着苹果的动向走的。
    如果你是问苹果为什么用 128,我不知道。你说呢,为什么?
    lianghai
        19
    lianghai  
       2012-03-15 23:28:21 +08:00
    @chenluois: 我在 #23 只是想确认一下苹果给的 128 像素见方的图是不是实际缩小到 64 物理像素见方来显示的……好吧,没别的事了。
    chenluois
        20
    chenluois  
    OP
       2012-07-15 18:04:46 +08:00
    嗯,现在看来 @lianghai 说的有道理,确实 32px 的两倍 64px 就够了,用不着 128px。
    我之前回复的态度也不好,@lianghai 海涵
    lianghai
        21
    lianghai  
       2012-07-15 19:59:48 +08:00   ❤️ 1
    @chenluois: 汗……没事。刚刚又看了一下 10.7.4 里的情况,似乎基本都是提供 512、256、128、32、16 这五种尺寸的了,相当于是统一了系统里图标文件的格式。
    chenluois
        22
    chenluois  
    OP
       2012-07-15 21:05:30 +08:00
    @lianghai 之前你思考的很正确,看了 Apple 更新的文档

    https://developer.apple.com/library/mac/#documentation/GraphicsAnimation/Conceptual/HighResolutionOSX/Optimizing/Optimizing.html

    一个大图标由 10 个部分组成

    icon_16x16.png
    [email protected]
    icon_32x32.png
    [email protected]
    icon_128x128.png
    [email protected]
    icon_256x256.png
    [email protected]
    icon_512x512.png
    [email protected]

    那么一个 32px 的小图标 2 个部分就够了,一个 32px,一个 64px。不用 128px 那么大。
    icon_32x32.png
    [email protected]
    azure
        23
    azure  
       2012-07-17 10:03:17 +08:00
    为什么我觉得Retina一出,开发又变得累人了。
    就好像当时需要为IE6单独写一些CSS一样。
    chenluois
        24
    chenluois  
    OP
       2012-07-17 10:10:10 +08:00
    @azure 是啊,而且为了优化在 Retina 屏上的显示效果,网站上的软件截图也得做两个版本,一个普通的,一个开 HiDPI @2x 的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5538 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 08:52 · PVG 16:52 · LAX 01:52 · JFK 04:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.