程序员玩转图片九宫格

程序员玩转图片九宫格

1. 介绍

图片转九宫格,相信大家并不陌生了,也有很多APP可以实现这个。在代码世界中也有很多方法可以实现,但是这都需要在电脑上实现。但自从发现了ISH这个神奇的软件,一切都有了实现的基础了。

技术的意义本就在于折腾,所以今天我尝试在iPhone上使用代码的方式来实现这个功能,有兴趣的或者有一定技术能力的可以跟着我的步骤一起尝试下,还是十分容易的

这难道不比使用其他软件来实现要酷的多 哈哈

2. 准备工作

  • 下载并安装 iSH:
    1. 打开你的 iPhone,进入 App Store。
    2. 搜索 “iSH”,点击 “获取” 按钮安装应用。 ISH安装
  • 启动 iSH 并更新软件包:
    1. 打开 iSH 应用程序,你会看到一个类似终端的界面。

    2. 首先,更新软件包列表。输入以下命令,并点击回车:

      bash复制代码
      apk update
      
      
    3. 接着,安装 ImageMagick,这是一个用于处理图片的工具:

      bash复制代码
      apk add imagemagick
      
      

      ImageMagick安装

3. 准备图片

  • 将图片导入 iSH:
    1. 目前 iSH 无法直接访问 iPhone 的相册,所以你需要先将图片上传到 iSH 能访问的目录中。
    2. 你可以使用 iSH 的文件管理器功能
      1. 在照片中找到你喜欢的图片

      2. 点击分享,选择存储到文件,找到ISH

      3. 选择你想要存储的位置,我选择在usr目录下新建了一个image目录

      4. 选择存储即可 图片导入

  • 检查图片文件:
    1. 在 iSH 中,使用以下命令进入存放图片的目录:

      bash复制代码
      cd /usr/image
      
      
    2. 使用 ls 命令查看文件,确认图片文件存在:你应该能看到图片文件的名字,如 Base.PNG

      bash复制代码
      ls
      
      

4. 将图片裁剪为九宫格

  • 执行裁剪命令:
    1. 在图片所在目录中,输入以下命令来将图片裁剪成九宫格:

      bash复制代码
      convert Base.PNG -crop 3x3@ +repage +adjoin output-%d.jpg
      
      
    2. 执行成功后,图片将被分割成九个部分,分别保存为 output-0.jpgoutput-8.jpg

5. 检查和导出结果

  • 查看裁剪后的图片:
    1. 你可以使用 ls 命令查看生成的九张图片:

      bash复制代码
      ls
      
      
    2. 你将看到名为 output-0.jpgoutput-8.jpg 的九个文件。

  • 将图片导出到 iPhone:
    1. 因为 iSH 无法直接访问 iPhone 的相册,你可以使用 iSH 文件管理功能或第三方工具将生成的图片导出。
    2. 这样你就可以在 iPhone 的相册中查看裁剪好的九宫格图片了。

图片导入

成品效果

Image 1Image 2Image 3
Image 4Image 5Image 6
Image 7Image 8Image 9

如果想要来个心型的九宫图

可以参考这段代码

  1. 制作心型蒙版 ,因为我的图片是4032x3024 所以我制作这么大的蒙版
convert -size 4032x3024 xc:none -fill white -draw 'path "M 2016,1512 C 2016,0 4032,0 4032,1512 A 2016,1512 0 1,1 0,1512 C 0,0 2016,0 2016,1512 Z"' heart_mask.png

  1. 将心形蒙版应用到HEIF图片

    input.heic: 你的原始HEIF图片。

    -resize 4032x3024: 确保图片与蒙版尺寸一致。

    -gravity center: 将心形蒙版居中对齐。

    -composite: 应用心形蒙版。

    -compose CopyOpacity: 使用蒙版的透明度信息来裁剪图片。

    heart_cropped.png: 输出的心形裁剪图片。

convert Base.HEIC -resize 4032x3024 -gravity center -composite -compose CopyOpacity heart_mask.png heart_cropped.png
  1. 将心形图片分割为九宫格
convert heart_cropped.png -crop 3x3@ +repage +adjoin outputs-%d.jpg

6. 总结和延展

在这个教程中,你学习了如何使用 iSH 和 ImageMagick 工具在 iPhone 上将图片裁剪成九宫格。通过这些简单的命令行操作,你可以进一步探索更多图片处理的可能性,比如调整图片大小、添加水印、生成 GIF 动图等。希望你在这个过程中不仅学会了技巧,还感受到了技术的乐趣!