Skip to content

docs: add macOS sips 命令详解 to AI-maintained tech notes#1536

Merged
Tisfy merged 9 commits intomasterfrom
feat/gh_pr_review_bot/add_sips_technotes_20260422
Apr 25, 2026
Merged

docs: add macOS sips 命令详解 to AI-maintained tech notes#1536
Tisfy merged 9 commits intomasterfrom
feat/gh_pr_review_bot/add_sips_technotes_20260422

Conversation

@gh-pr-review
Copy link
Copy Markdown
Contributor

@gh-pr-review gh-pr-review Bot commented Apr 22, 2026

变更内容

在 AI 维护的技术随笔 ## Mac 章节下新增 ### macOS sips 命令——自带的图片处理瑞士军刀

涵盖内容:

  • 格式转换(HEIC/PNG/JPG 等互转)
  • 调整尺寸(等比缩放、强制拉伸、指定宽/高)
  • 旋转与翻转
  • 裁剪与填充
  • 查询图片属性
  • 设置 DPI
  • 实用批量处理组合示例

同时更新最近更新时间为 2026-04-22。

@chatgpt-codex-connector
Copy link
Copy Markdown

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Credits must be used to enable repository wide code reviews.

Comment thread Solutions/Other-AI-LLM_Maintained_TechNotes.md Outdated
Comment thread Solutions/Other-AI-LLM_Maintained_TechNotes.md Outdated
Copy link
Copy Markdown
Contributor Author

@gh-pr-review gh-pr-review Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR 概要

本 PR 在 Solutions/Other-AI-LLM_Maintained_TechNotes.md## Mac 章节下新增 ### macOS sips 命令——自带的图片处理瑞士军刀,系统介绍了 sips 的格式转换、尺寸调整、旋转翻转、裁剪填充、属性查询、DPI 设置以及几个批量处理组合示例,并把文末维护日期更新为 2026-04-22。+87 / −1 纯文档改动,符合"随笔"风格。

代码正确性分析

文件 变更类型 正确性 说明
Solutions/Other-AI-LLM_Maintained_TechNotes.md 文档新增小节 + 日期更新 ⚠️ 基本正确,个别示例脚本有健壮性问题 sips 各子命令(-s format-Z-z-r-f-c-p-g)描述准确;但最后一段"快速查看尺寸"的 bash 脚本在常见场景下会输出垃圾行,见下文 P1

潜在问题与建议

P1 — 最后一段"查看所有图片尺寸"脚本不够健壮

第 180–182 行:

for f in *.{jpg,png,heic}; do
  [ -f "$f" ] && echo "$f: $(sips -g pixelWidth -g pixelHeight "$f" 2>/dev/null | grep pixel | awk '{print $2}' | tr '\n' 'x' | sed 's/x$//')"
done

问题:

  1. Brace expansion + 无 nullglob:当前目录没有 .heic 文件时,*.{jpg,png,heic} 会先被 brace 展开成 *.jpg *.png *.heic,随后对不存在的 glob 保留字面量(bash 默认 nullglob=off),导致循环里会拿到字面值 *.heic,靠 [ -f "$f" ] 才勉强兜住。
  2. 中缀 grep 不必要sips -g pixelWidth -g pixelHeight 的输出里除了两行 pixel 行还有一行 header(文件名),当前管道 grep pixel + awk '{print $2}' 逻辑上成立,但略显绕。
  3. tr '\n' 'x' | sed 's/x$//' 连接多行:目的是拼成 WxH,但如果 sips 因为非图片格式文件只输出一行 pixel 行,最终会丢分隔符;用 paste -sd x - 更稳。
  4. 大小写敏感.JPG.HEIC(相机直出常见)不会被匹配。

建议替换为下面更健壮的版本(显式开关 nullglob + nocaseglob,用 paste 拼接,避免字面量回退):

P2 — .md 文件末尾缺少换行

从 raw 文件观察,整文件最后一个字符是 )(后接 EOF,无 \n),POSIX 对文本文件建议以 \n 结尾,许多 linter(如 pre-commitend-of-file-fixer)会报错。可在发布前统一追加一个换行。此项不在本次 hunk 内,留作后续维护。

P3 — -z <h> <w> 参数顺序提醒

第 125 行 -z <h> <w> 参数顺序容易被误读成 width height。sips 官方文档确实是 height width(与常识相反),文档写对了;建议在该行追加一句提示,例如 (注意:高在前、宽在后,与常见习惯相反),降低读者踩坑概率。非必改。

P3 — 建议补一句安全提示

sips 默认原地写回或覆盖 --out,当脚本批量处理时建议配 --out 指向独立目录(文档里已在 thumbnails 示例中体现,但 HEIC→JPG 示例未强调)。可在"实用组合示例"之后一句带过。非必改。

总结表格

维度 评级 说明
正确性 A- sips 选项说明完全正确;最后一段 bash 脚本可用但不够健壮
可读性 A 分节清晰、参数对比表贴切、示例由浅入深
一致性 A 风格、日期更新均与既有文档一致
实用性 A 选题好,零依赖工具对 Mac 用户价值高
风险 纯文档变更,无代码侧影响;脚本风险仅限读者复制时可能遇到边界问题

最终合并建议

建议合并(Approve with nits)。P1 的脚本健壮性如能在本 PR 内顺手修掉最好,其余条目都属于可选优化,不阻塞合并。

Review by AI Assistant

Comment thread Solutions/Other-AI-LLM_Maintained_TechNotes.md
@LetMeFly666
Copy link
Copy Markdown
Owner

@gh-pr-review (expert) /new 本pr与master冲突,但我本地目录有正在进行的工作,我希望检出这个分支到一个临时目录(../blog_sips),具体应该怎么操作

所有对话的回复你都是用mcp gh-pr-review 评论到#1536

Copy link
Copy Markdown
Contributor Author

@gh-pr-review gh-pr-review Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

可以用 git worktree,不干扰当前工作目录:

# 在仓库根目录执行
git fetch origin

# 假设该 PR 分支名为 <branch>,将其检出到 ../blog_sips
git worktree add ../blog_sips <branch>

# 如果只有 PR 号、没有本地分支,可以直接基于远程创建
git fetch origin pull/1536/head:pr-1536
git worktree add ../blog_sips pr-1536

进入 ../blog_sips 即可正常 git status / git merge master 解决冲突,原目录的未提交工作不受影响。

用完清理:

git worktree remove ../blog_sips
git branch -D pr-1536   # 如需删除临时分支

注意:

  • worktree 共享同一个 .git,同一分支不能被两个 worktree 同时检出。
  • 解决完冲突后在 ../blog_sipsgit push 即可更新 PR。

@LetMeFly666
Copy link
Copy Markdown
Owner

可以用 git worktree,不干扰当前工作目录:

# 在仓库根目录执行
git fetch origin

# 假设该 PR 分支名为 <branch>,将其检出到 ../blog_sips
git worktree add ../blog_sips <branch>

# 如果只有 PR 号、没有本地分支,可以直接基于远程创建
git fetch origin pull/1536/head:pr-1536
git worktree add ../blog_sips pr-1536

进入 ../blog_sips 即可正常 git status / git merge master 解决冲突,原目录的未提交工作不受影响。

用完清理:

git worktree remove ../blog_sips
git branch -D pr-1536   # 如需删除临时分支

注意:

  • worktree 共享同一个 .git,同一分支不能被两个 worktree 同时检出。
  • 解决完冲突后在 ../blog_sipsgit push 即可更新 PR。

@gh-pr-review git fetch origin都会fetch哪些范围?是不是fetch太多了

Copy link
Copy Markdown
Contributor Author

@gh-pr-review gh-pr-review Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@gh-pr-review git fetch origin都会fetch哪些范围?是不是fetch太多了

默认 git fetch origin 会根据 remote.origin.fetch refspec(通常是 +refs/heads/*:refs/remotes/origin/*)拉取 origin 上的所有分支,以及这些提交所引用的 tag(--tags 默认关闭,但 auto-follow 会带上可达的 annotated tag)。不会拉 refs/pull/*(PR 分支)和 fork 的分支。

对于你这个场景,确实可以收窄,按精确度从高到低:

# 1. 只拉该 PR 这一条 ref(最省,推荐)
git fetch origin pull/1536/head:pr-1536
git worktree add ../blog_sips pr-1536

# 2. 只拉某个具体分支
git fetch origin <branch>:<branch>

# 3. 浅克隆式,只要最近 1 个 commit
git fetch --depth=1 origin pull/1536/head:pr-1536

几个判断点:

  • 仓库分支很多(几十上百条)且平时只关心少数几条 → 用 1 或 2。
  • 仓库就几条分支、网络也不慢 → git fetch origin 无所谓,额外开销可忽略。
  • 担心拉到旧 tag 垃圾 → 加 --no-tags;想清理远端已删分支 → 加 --prune

所以前一条回复里的 git fetch origin 可以直接换成方案 1,一步到位、最省带宽。

@LetMeFly666
Copy link
Copy Markdown
Owner

@gh-pr-review git fetch origin都会fetch哪些范围?是不是fetch太多了

默认 git fetch origin 会根据 remote.origin.fetch refspec(通常是 +refs/heads/*:refs/remotes/origin/*)拉取 origin 上的所有分支,以及这些提交所引用的 tag(--tags 默认关闭,但 auto-follow 会带上可达的 annotated tag)。不会拉 refs/pull/*(PR 分支)和 fork 的分支。

对于你这个场景,确实可以收窄,按精确度从高到低:

# 1. 只拉该 PR 这一条 ref(最省,推荐)
git fetch origin pull/1536/head:pr-1536
git worktree add ../blog_sips pr-1536

# 2. 只拉某个具体分支
git fetch origin <branch>:<branch>

# 3. 浅克隆式,只要最近 1 个 commit
git fetch --depth=1 origin pull/1536/head:pr-1536

几个判断点:

  • 仓库分支很多(几十上百条)且平时只关心少数几条 → 用 1 或 2。
  • 仓库就几条分支、网络也不慢 → git fetch origin 无所谓,额外开销可忽略。
  • 担心拉到旧 tag 垃圾 → 加 --no-tags;想清理远端已删分支 → 加 --prune

所以前一条回复里的 git fetch origin 可以直接换成方案 1,一步到位、最省带宽。

why not fetch feat/gh_pr_review_bot/add_sips_technotes_20260422

Copy link
Copy Markdown
Contributor Author

@gh-pr-review gh-pr-review Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why not fetch feat/gh_pr_review_bot/add_sips_technotes_20260422

可以,而且更直观——之前没写具体分支名是因为不确定该 PR 的 head 分支名。既然已明确,直接用即可:

# 只拉这一条分支 ref 到 origin/<branch>
git fetch origin feat/gh_pr_review_bot/add_sips_technotes_20260422

# 直接从远端 ref 挂 worktree(不新建本地分支,HEAD 处于 detached)
git worktree add ../blog_sips origin/feat/gh_pr_review_bot/add_sips_technotes_20260422

# 或者创建本地跟踪分支再挂 worktree(便于后续 push)
git fetch origin feat/gh_pr_review_bot/add_sips_technotes_20260422:feat/gh_pr_review_bot/add_sips_technotes_20260422
git worktree add ../blog_sips feat/gh_pr_review_bot/add_sips_technotes_20260422

对比一下 pull/1536/head vs 分支名两种方式:

方式 优点 缺点
pull/1536/head 无需知道分支名、适用于 fork PR 是只读 ref,需手动 :local-name 才方便 push
具体分支名 语义清晰、push 回去自动更新 PR 必须知道分支名、fork PR 不适用(此 PR 是同仓库分支,OK)

此 PR head 在同仓库,第二种更顺手。推荐用上面第三条命令(建立本地跟踪分支)。

Signed-off-by: Tisfy <Tisfy@foxmail.com>
@LetMeFly666
Copy link
Copy Markdown
Owner

@gh-pr-review 好了,这个名字叫“临时工作区”还是什么?
修改好了,push了,merge后如何删除

Copy link
Copy Markdown
Contributor Author

@gh-pr-review gh-pr-review Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@gh-pr-review 好了,这个名字叫"临时工作区"还是什么?
修改好了,push了,merge后如何删除

名字:官方术语叫 worktree(工作树 / 附加工作树),命令就是 git worktree。相对主仓库目录的 "main worktree",后加的都叫 linked worktree / additional worktree;中文社区也有人说"多工作区 / 额外工作区",但规范叫法就是 worktree,不是 "临时工作区"(临时只是你的使用方式)。

merge 后清理(按你这条流程:../blog_sips 挂了 feat/gh_pr_review_bot/add_sips_technotes_20260422,已 push 并 merge):

# 回到主仓库目录(不能在 ../blog_sips 内部删它自己)
cd <主仓库目录>

# 1. 删 worktree(连同 ../blog_sips 目录一起移除)
git worktree remove ../blog_sips
# 如果目录里还有未提交改动会拒绝,确认无用后加 --force
# git worktree remove --force ../blog_sips

# 2. 删本地分支(merge 后用 -d 即可;没 merge 才需要 -D)
git branch -d feat/gh_pr_review_bot/add_sips_technotes_20260422

# 3. 删远端分支(如果 GitHub 上还没自动删)
git push origin --delete feat/gh_pr_review_bot/add_sips_technotes_20260422

# 4. 清理已失效的 remote-tracking ref(可选但建议)
git fetch --prune origin

几个常见坑:

  • 顺序不能反:先 worktree removebranch -d。如果分支还被某个 worktree 占用,branch -d 会报 "checked out at ...",提示你先卸 worktree。
  • 孤儿 worktree:如果你手动 rm -rf ../blog_sips 而没走 worktree remove,.git/worktrees/ 下会留元信息,用 git worktree prune 清理。
  • git worktree list 随时查看当前有哪些 worktree、在哪个分支上,排障必备。
  • GitHub 仓库设置开了 "Automatically delete head branches" 的话,merge 完远端分支会自动删,第 3 步就不用了,本地 git fetch --prune 顺手清掉 origin/<branch> 的残留引用即可。

@LetMeFly666
Copy link
Copy Markdown
Owner

@gh-pr-review (reviewer) /continue 看下整个对话过程,解决了冲突,在整个对话过程的基础上review下

@LetMeFly666
Copy link
Copy Markdown
Owner

@gh-pr-review 好了,这个名字叫"临时工作区"还是什么?
修改好了,push了,merge后如何删除

名字:官方术语叫 worktree(工作树 / 附加工作树),命令就是 git worktree。相对主仓库目录的 "main worktree",后加的都叫 linked worktree / additional worktree;中文社区也有人说"多工作区 / 额外工作区",但规范叫法就是 worktree,不是 "临时工作区"(临时只是你的使用方式)。

merge 后清理(按你这条流程:../blog_sips 挂了 feat/gh_pr_review_bot/add_sips_technotes_20260422,已 push 并 merge):

# 回到主仓库目录(不能在 ../blog_sips 内部删它自己)
cd <主仓库目录>

# 1. 删 worktree(连同 ../blog_sips 目录一起移除)
git worktree remove ../blog_sips
# 如果目录里还有未提交改动会拒绝,确认无用后加 --force
# git worktree remove --force ../blog_sips

# 2. 删本地分支(merge 后用 -d 即可;没 merge 才需要 -D)
git branch -d feat/gh_pr_review_bot/add_sips_technotes_20260422

# 3. 删远端分支(如果 GitHub 上还没自动删)
git push origin --delete feat/gh_pr_review_bot/add_sips_technotes_20260422

# 4. 清理已失效的 remote-tracking ref(可选但建议)
git fetch --prune origin

几个常见坑:

  • 顺序不能反:先 worktree removebranch -d。如果分支还被某个 worktree 占用,branch -d 会报 "checked out at ...",提示你先卸 worktree。
  • 孤儿 worktree:如果你手动 rm -rf ../blog_sips 而没走 worktree remove,.git/worktrees/ 下会留元信息,用 git worktree prune 清理。
  • git worktree list 随时查看当前有哪些 worktree、在哪个分支上,排障必备。
  • GitHub 仓库设置开了 "Automatically delete head branches" 的话,merge 完远端分支会自动删,第 3 步就不用了,本地 git fetch --prune 顺手清掉 origin/<branch> 的残留引用即可。

@gh-pr-review 文件夹会被自动删除吗

Copy link
Copy Markdown
Contributor Author

@gh-pr-review gh-pr-review Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

增量 Review(续:冲突已解决)

上一轮(review_id 4175132591)后,作者已完成 rebase:head 从 a4cc1fb9 更新到 845f51b2mergeable_statedirty 回到 clean,commits 从 6 → 7,additions 从 87 → 89。以下针对 本次 rebase 的增量变化 以及 上轮建议的落实情况 再做一次审查。

变更差异速览

维度 上轮(a4cc1fb9) 本轮(845f51b2) 说明
mergeable_state dirty clean 冲突已解决
additions 87 89 多 2 行,来自 sips 小节末尾新增的 --- 分隔线及其前后空行
维护日期 2026-04-22 2026-04-25 同步跟进到最新
sips 小节正文 一字未改 上轮 P1 未采纳
sips 小节位置 原本在 ## Mac 章节内 仍在 ## Mac 下,但小节末尾追加了 --- 分隔线 见下文 P2

对上轮建议的落实情况

等级 本轮状态 说明
L180–182 脚本健壮性(nullglob / 大小写 / paste 拼接) P1 ❗未采纳 原代码块一字未动
文件末尾换行(EOF \n P2 不在本 hunk 仍未处理,非阻塞
-z <h> <w> 参数顺序提示 P3 未采纳 可选,非阻塞
--out 输出目录安全提示 P3 未采纳 可选,非阻塞

本轮新发现问题

P2 — 新增的孤立 --- 分隔线破坏全文风格一致性

rebase 把 sips 小节从原来 ## Mac 内部的流式延续,变成了末尾多一条 --- 分隔线(新 diff 第 187 行)。整篇文档其他 ## / ### 之间均无 --- 作章节分隔(比如 ## Skill / ## Mac / ## 数据格式 / ## 大模型 之间都是靠标题自然划分),只有文章全文末尾的 footer 区块才用 ---。这里多一条分隔会产生"sips 小节以后另起一段大话题"的视觉暗示,与后续 ## 数据格式 的标题语义重复。

建议删除第 187 行的 ---(或改为空行),保持与全文风格一致。

P1 重申(非新问题,仅提醒)

上轮 P1 的核心担忧未处理:最后一段"查看所有图片尺寸"脚本在如下常见场景会退化:

  • 当前目录没有 .heic 时,brace-expansion 展开为字面量 *.heic 进入循环(靠 [ -f "$f" ] 兜底可用但不优雅)
  • .JPG / .HEIC 大小写变体不被匹配(单反 / 手机直出常见)
  • tr '\n' 'x' | sed 's/x$//' 拼接多行脆弱,sips 异常输出时分隔符会丢

如果作者评估后觉得"示例够简短,读者能看懂就行,健壮性不是第一目标",也可以明确在正文里加一句 "仅示例,生产脚本建议开启 shopt -s nullglob nocaseglob",把决策显式化。不强阻塞合并。

代码正确性再评估

文件 变更类型 正确性 说明
Solutions/Other-AI-LLM_Maintained_TechNotes.md sips 小节(无改动) + 末尾 ---(新增) + 维护日期 ✅ 正确 新增内容与 master 无冲突,rebase 干净;风格一致性轻微下降

总结表格

维度 评级 说明
冲突解决质量 A rebase 干净,日期同步正确
上轮建议采纳度 C P1/P2/P3 均未处理;P1 值得再跟
本轮新问题 P2 × 1 孤立 --- 分隔线不符合全文风格
风险 极低 仍是纯文档 PR

最终合并建议

建议合并(Approve with nits)。冲突已清洁解决,主要议题未阻塞;本轮新增的 P2(--- 分隔线)和上轮未处理的 P1(脚本健壮性)如作者认可可顺手带上,不带也不阻塞合并。

Review by AI Assistant

Comment thread Solutions/Other-AI-LLM_Maintained_TechNotes.md Outdated
Comment thread Solutions/Other-AI-LLM_Maintained_TechNotes.md
Copy link
Copy Markdown
Contributor Author

@gh-pr-review gh-pr-review Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@gh-pr-review 文件夹会被自动删除吗

会。git worktree remove <path> 会同时做两件事:

  1. .git/worktrees/<name>/ 下的元信息
  2. <path> 这个目录本身(里面的 checkout 文件也一并带走)

所以 git worktree remove ../blog_sips 执行完,../blog_sips 目录就不存在了,不需要再 rm -rf

几个边界:

情况 行为
工作区干净 直接删目录 + 元信息 ✓
有未提交/未 push 改动,或有未追踪文件 拒绝执行,报 contains modified or untracked files;加 --force 才强删
目录已被你手动 rm -rf remove 会失败,改用 git worktree prune 清掉残留元信息
磁盘/权限问题导致删目录失败 元信息可能已删、目录残留,手动 rm -rf 即可

验证一下:git worktree list 看不到 ../blog_sipsls .. 也没有该目录,就说明清理干净了。

Update Solutions/Other-AI-LLM_Maintained_TechNotes.md

Co-Authored-By: Claude <noreply@anthropic.com>

Co-authored-by: gh-pr-review[bot] <268385713+gh-pr-review[bot]@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

@gh-pr-review gh-pr-review Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

补充回复:关于 nullglob 是什么

Bash 中,当 glob 模式(如 *.heic)匹配不到任何文件时,默认行为会把模式字符串本身当成结果返回。举个例子:

# 当前目录没有任何 .heic 文件时
for f in *.heic; do
  echo "$f"
done
# 输出:  *.heic   ← 字面量字符串,不是真实文件

此时循环体里的 [ -f "$f" ] 判断会保护你不去实际处理它,所以功能上不会出错,原版脚本是安全的 ✅。

shopt -s nullglob 的作用:开启这个选项后,匹配不到文件时返回空列表,循环直接跳过,不进入循环体。两种写法在你这个场景下效果等价,只是 nullglob 在语义上更干净——不用再靠 [ -f ] 兜底。

另外,感谢采纳 P2(移除多余的 ---),已在 commit 630d436 中落地 👍。当前状态完全可合并,原 P1 建议只是锦上添花,保持现在的简洁版本完全没问题。

Review by AI Assistant

@LetMeFly666
Copy link
Copy Markdown
Owner

for f in *.heic; do
  echo "$f"
done
~ echo $SHELL
/bin/zsh
➜  ~ for f in *.heic; do
  echo "$f"
done
zsh: no matches found: *.heic
➜  ~ bash

The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.
bash-3.2$ for f in *.heic; do
>   echo "$f"
> done
*.heic

竟然是bash的内容,没关系,现在默认zsh了

@LetMeFly666
Copy link
Copy Markdown
Owner

@Tisfy 辛苦ap+merge

Comment thread Solutions/Other-AI-LLM_Maintained_TechNotes.md Outdated
Copy link
Copy Markdown
Collaborator

@Tisfy Tisfy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image Image Image Image Image Image Image

--- thumbnails ---

Image Image Image Image Image Image Image Image

@Tisfy Tisfy requested a review from LetMeFly666 April 25, 2026 06:12
@Tisfy Tisfy merged commit a507ae0 into master Apr 25, 2026
1 check passed
@Tisfy Tisfy deleted the feat/gh_pr_review_bot/add_sips_technotes_20260422 branch April 25, 2026 06:13
@Tisfy
Copy link
Copy Markdown
Collaborator

Tisfy commented Apr 25, 2026

sips -g all input.jpg                        # 查看所有属性
sips -g pixelWidth -g pixelHeight input.jpg  # 查看宽高
sips -g format input.jpg                     # 查看格式
sips -g dpiWidth -g dpiHeight input.jpg      # 查看 DPI
/Users/Tisfy/Downloads/input.jpg
  pixelWidth: 700
  pixelHeight: 732
  typeIdentifier: public.jpeg
  format: jpeg
  formatOptions: default
  dpiWidth: 144.000
  dpiHeight: 144.000
  samplesPerPixel: 3
  bitsPerSample: 8
  hasAlpha: no
  space: RGB
  profile: Color LCD
/Users/Tisfy/Downloads/input.jpg
  pixelWidth: 700
  pixelHeight: 732
/Users/Tisfy/Downloads/input.jpg
  format: jpeg
/Users/Tisfy/Downloads/input.jpg
  dpiWidth: 144.000
  dpiHeight: 144.000

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants