假期用截屏大法
复制了一本只能在线看的图书,在将图片转为PDF
的时候,遇到一些问题,简单做个总结。1
改变色深
convert -monochrome -transparent white RT_Pic02.jpg 123.png
如果只是为了删除白色,将白色 -> 透明,可用
convert -transparent white RT_Pic02.jpg 123.png
但是这样子会留下毛边,因此最好先改色深再透明化。
合并运行
for file in *.jpg; do newFile=$(echo $file | sed -r 's/\.jpg/\.png/g'); convert $file -monochrome -transparent white $newFile; done
提前将第一个文件复制为out.png
这一步是为了形成一个基板,将其他文件覆盖到out.png
上。
cp $(ls | sed -n '1,1p') out.png
合并文件
for file in *.png; do composite $file out.png out.png ; done
根据 out.png 的信息,提取出最窄区域,并获取相应的位置信息。其中主要获取 文本区域大小、文本区域左上角坐标。
随后,根据相关信息,对原始jpg文件进行裁剪。
单页
起点:1187x85
大小:1470x2060
双页
起点:450x85
大小:2945x2060
for file in *.jpg; do convert -crop 1470x2060+1187+85 $file cut$file; done
for file in *.jpg; do convert -crop 2940x2060+453+85 $file cut$file; done
双页 一分为2
# 基于 convert *.jpg -crop 2x1@
for file in *.jpg; do newFile=$(echo $file | sed -r 's/\.jpg//g'); magick $file -crop 2x1@ split_$newFile%02d.jpg; done
# or
for file in *.jpg; do convert $file -crop 50%x100% $file; done
删除多余的PNG文件
rm *.png
-
命令基本是应该是正确的,有待后续检查 ↩︎