mac:将剪贴板中的tiff转成png

b4.png

3年前因为 OmniGraffle 入坑mac,现在mac已成了主力系统,虽然这些年OmniGraffle用得很少,它的很多工作逐渐被 Sketchfigma 取代。一时兴起想要解决当年遇到的一个“小困扰”。

在使用 keynoteOmniGraffle 时插入一些图片后,文件变得非常大,诶,源图片是png的,都比较小,不应该啊~
之前在简书上发的一篇文章,就跟这个有关。
mac:解决word文档中图片在Windows上显示不正常


实验1

  • Finder 里选中一张1080p的png图片,这张图片文件大小是 2.8mb
  • 按下 ⌘+C 复制到剪贴板
  • keynote 里新建文档,按 ⌘+V 粘贴png,此时在右侧的属性面板中,选中 格式-->图像,可以看到图片是png格式的,keynote保存后的“.key”文件大小是 3.4mb
    keynote_png.png

实验2

  • 使用 预览 打开刚才的png图片,按⌘+A此时图片的边缘会有黑白相间的虚线“流动”,此操作是对画面进行了框选;
  • 然后按 ⌘+C ,此时剪贴板中会有个tiff的格式的图像;
  • keynote 里新建文档,按 ⌘+V 进行粘贴,此时属性面板显示图片是tiff的,保存后".key"的文件大约是 8.9mb
    keynote_tiff.png

实验3

  • 使用设计软件导出一张1080p的全透明的png,png文件大小约为 36kb
  • Finder 里选中这张png图片,按下 ⌘+C 复制到剪贴板;
  • keynote 里新建文档,按 ⌘+V 进行粘贴,此时属性面板显示图片是png的,保存后“.key”的文件大约是 375kb

实验4

  • 使用设计软件导出一张1080p的全透明的png,png文件大小约为36kb;
  • 使用 预览 打开png图片,按⌘+A,然后按 ⌘+C
  • keynote 里新建文档,按 ⌘+V 进行粘贴,此时属性面板显示图片是tiff的,保存后“.key”的文件大约是 8.6mb


对比可以发现:

  • 粘贴内容是tiff时,keynote文件会变得很大;
  • 不论图像画面简单还是复杂,同尺寸的图粘贴成tiff,keynote文件大小相同;
    粗略理解,带有透明度的图片1个像素使用4byte(RGBA)文件大小,那么1080p的图片需要占用 1920x1080x4 = 8,294,400 字节,文件大小约为7.91mb,实际查看key里面的单独的tiff文件大小是8.3mb,就大差不差了。
    tiff格式文件比较复杂,在这不做过多探讨。大致理解 tiff的文件大小跟画面尺寸有关系,且图像文件不会进行压缩处理。
  • 当图片画面简单时,png有很好的压缩效果。


在mac上很多情况下,复制图片都是复制成tiff格式的,比如从浏览器“复制图片”操作都会将图片转成tiff格式,这样无形中就大大增加keynote的文件大小。


那有没有办法把tiff转成png呢?
最简单的方法就是复制后,粘贴到微信聊天输入区域,此时输入区域会显示图片,选中图片然后⌘+C,这样得到的图片就是png的了。
最近发现微信会在转成png的时候会把图像缩小,碗里的饭瞬间就不香了。
经过一番研究,终于可以用脚本来解决,舒爽~

#!/bin/bash
cd ~
# create dir "Clipboard_trans"
if [ ! -d "Clipboard_trans"  ];then
  mkdir "Clipboard_trans"
fi
cd "Clipboard_trans"
mark=0

# tiff
result=$(osascript -e 'clipboard info' | grep '«class PNGf»')
if [[ "$result" != "" ]]
then
    echo -e "1.save tiff"
    osascript -e "get the clipboard as «class PNGf»" | sed "s/«data PNGf//; s/»//" | xxd -r -p > x.tiff

    echo "2.convert to png"
    sips -s format png -s formatOptions default x.tiff --out x.png

    echo "3.copy png to clipboard"
    osascript -e 'set the clipboard to (read "x.png" as «class PNGf»)'
    
    # exit shell
    exit
else
    echo "Clipboard not found tiff image."
fi

# pdf
result=$(osascript -e 'clipboard info' | grep '«class PDF »')
if [[ "$result" != "" ]]
then
    echo -e "1.save pdf"
    osascript -e "get the clipboard as «class PDF »" | sed "s/«data PDF //; s/»//" | xxd -r -p > x.pdf

    echo "2.convert to png"
    sips -s format png -s formatOptions default x.pdf --out x.png

    echo "3.copy png to clipboard"
    osascript -e 'set the clipboard to (read "x.png" as «class PNGf»)'

    # exit shell
    exit
else
    echo "Clipboard not found pdf image."
fi
echo "Nothing to do!!!"

脚本功能:
读取剪贴板,将tiff或pdf的图像转成png格式

脚本工作原理:

  • 读取剪贴板,判断是否有 tiff、pdf、png等格式的内容;
  • 如果有指定格式的内容,将剪贴板的图像保存为 tiffpdf
  • 然后使用sips命令将 tiffpdf 转成png;
  • 然后在将png内容写入剪贴板;

转换产生的临时文件,都保存在 ~/Clipboard_trans 目录下,仅保留最近一次的内容。

大致流程就是:将脚本保存为".sh"文件后,下次从浏览器复制图片后,双击下sh脚本,然后再粘贴到keynote中就可以了。
需要注意的是 sketch、figma、wps不受tiff的影响。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,188评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,464评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,562评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,893评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,917评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,708评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,430评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,342评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,801评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,976评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,115评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,804评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,458评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,008评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,135评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,365评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,055评论 2 355