Code|ImageList:图片自定义横纵拼接解决方案

结月lalalll

有天突然需要把好多超级长的连续图片打印出来,最开始的思路是把所有的图片垂直拼接成一张更加长长的图片,然后寻找工具自动排列到A4大小的纸张上,也就是说自动截取,所以我的解决思路是这样的:

  1. 寻找在线工具长图拼接
  2. 某工具自动将长图截取并从上到下从左往右顺序粘贴到A4大小的纸张上,若没粘贴完则输出到下一张纸

完美的思路!..
先帝创业未半而中道崩殂,在线长图拼接网站根本输出不来,要么是损坏图像,要么0kb…嘶…网络问题?集体失灵?就是骗子网站?..
后来才发现原来最终的图像文件太长了!我算了一下将近29,760px左右…
思路一卒于第一步…(其实第二步也会失败,没找到这样的软件)


其实到这里就已经折腾了很长时间了,本来想着要不就两张两张的拼接吧就是累点…突然!翻到了一个其他的在线网站:在线分割长图片.
灵光乍现那么就有了第二个思路:

  1. 将所有的长图分割成长度相等的短图
  2. 使用工具将一定数量的短图放置在一张A4大小的纸上

第一步我使用了在线分割长图网站将图片分割为了固定的1240px,最后一张若不足1240px就靠程序补充为空白
第二步起初想用的是Windows打印服务的3*3联系人表,但过于僵硬了我希望弄成3*4或其他的排列形式

这时候就想起了写个程序,开始!
基本的程序运行思路:

  1. 按文件名读取[长*宽]张图片
  2. 创建一张A4画布并等分成[长*宽]份
  3. 对输入的图片进行处理(缺失部分白色像素填充,保持比例缩放以适应画布等等…)
  4. 按照顺序粘贴到画布上(从左到右开始或从上到下开始)
  5. 保存图片并输出

最终程序: https://github.com/lalalll-lalalll/ImageList
完美解决~~

唯一的缺点是长图的剪切依赖于在线网站,其实这方面写个程序不算难,但一年用不到几次就那样吧…(摸

  • 本文标题:Code|ImageList:图片自定义横纵拼接解决方案
  • 本文作者:结月lalalll
  • 创建时间:2024-09-22 20:36:02
  • 本文链接:https://lalalll-lalalll.github.io/code/ImageList/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
此页目录
Code|ImageList:图片自定义横纵拼接解决方案