我制作了一个 HTML 文件,其中的图片为 base64 格式。我开始编写 bash 脚本,将文件夹图片以 base64 格式打印到这个 html 文件中。我成功了,我分享代码:
cat html_head.txt > fil.html
for i in *.jpg; do echo $(cat html_image_cell_start.txt) "data:image/jpeg;base64, " $(base64 $i) $(cat html_image_cell_end.txt) >> fil.html; done
cat html_foot.txt >> fil.html
但是这些图像文件之前是使用如下脚本调整大小(原始图像)制作的:
for i in *.jpg; do convert -auto-orient -thumbnail 160 $i thumb-$i; done;
这确实有效。
现在我想将这两个步骤放在同一个循环中。
问题是:我可以将数据/图像通过管道传输convert
到base64
(linux-)函数,而不是将其保存到文件(thumb-)吗?
稍后,它将被附加到文本文件(“html”文件)。
我很乐意接受一个答案,表明这一点(不需要循环)。
以下是命名的文件及其内容:
html_head.txt
<!doctype html><html><head></head><body>
html_图像_单元格起始.txt
<img src="
html_image_cell_end.txt
">
html_foot.txt
</body> </html>
答案1
convert -auto-orient -thumbnail 160 $i jpg:- | base64