こないだ、書いたような気がするが、
奥さんがブログ掲載用にお弁当写真を結合してくれと。
---------------
まず、ディレクトリ内の写真の名前をそろえる。
#!/bin/bash
##
## LunchBox_ReName_with_TimeStamp.sh
##
##
FileName="LunchBox"
for inputfile in ./*.jpg ; do
#ls -l --time-style=full-iso
DateStamp=`ls -l --time-style=full-iso ${inputfile} | awk '{printf("%s", $6)}' `
# TimeStamp=`ls -l --time-style=full-iso ${inputfile} | awk '{printf("%s", $7)}' `
TimeStamp=`ls -l --time-style=full-iso --full-time ${inputfile} | awk '{printf("%s", $7)}' `
DateStamp=`echo ${DateStamp} | sed -e "s/-//g" `
TimeStamp=`echo ${TimeStamp} | sed -e "s/://g" `
TimeStamp=`echo ${TimeStamp} | sed -e "s/.000000000//g" `
NewFileName=`echo ${DateStamp}_${TimeStamp}_${FileName}`
echo "converting : "${inputfile} ${DateStamp} ${TimeStamp} ${NewFileName}
mv ${inputfile} ${NewFileName}.jpg
done
##
## LunchBox_ReName_with_TimeStamp.sh
##
##
FileName="LunchBox"
for inputfile in ./*.jpg ; do
#ls -l --time-style=full-iso
DateStamp=`ls -l --time-style=full-iso ${inputfile} | awk '{printf("%s", $6)}' `
# TimeStamp=`ls -l --time-style=full-iso ${inputfile} | awk '{printf("%s", $7)}' `
TimeStamp=`ls -l --time-style=full-iso --full-time ${inputfile} | awk '{printf("%s", $7)}' `
DateStamp=`echo ${DateStamp} | sed -e "s/-//g" `
TimeStamp=`echo ${TimeStamp} | sed -e "s/://g" `
TimeStamp=`echo ${TimeStamp} | sed -e "s/.000000000//g" `
NewFileName=`echo ${DateStamp}_${TimeStamp}_${FileName}`
echo "converting : "${inputfile} ${DateStamp} ${TimeStamp} ${NewFileName}
mv ${inputfile} ${NewFileName}.jpg
done
---------------
ねんのため、ファイル名で TimeStamp を変えるスクリプトも
#!/bin/bash
# ChangeTimeStamp_with_FileName.sh
FileName="LunchBox"
for inputfile in ./*${FileName}.jpg ; do
DateStamp=`echo ${inputfile} | cut -c3-10`
TimeStamp=`echo ${inputfile} | cut -c12-15`
echo ${inputfile} ${DateStamp} ${TimeStamp}
touch -t${DateStamp}${TimeStamp} ${inputfile}
done
---------------
ほんで、各写真に、日付クレジットを挿入。
#!/bin/bash
#
# InsertCredit4LunchBox.sh
#
#
Filter="LunchBox"
TmpFile="./tmp.jpg"
CiteFile="./cite.jpg"
#FontPath="/usr/share/fonts/sazanami-fonts-gothic/sazanami-gothic.ttf"
FontPath="/usr/share/fonts//vlgothic/VL-Gothic-Regular.ttf"
for inputfile in ./*${Filter}*.jpg ; do
echo " "
echo "now converting : "${inputfile}
cp ${inputfile} ${TmpFile}
### 画像ファイルから横幅情報検出
FigSize=`identify ${inputfile} | awk '{printf($3)}'`
FigSize=`echo ${FigSize} | sed -e "s/x/ /"`
YokoSize=`echo ${FigSize} | awk '{printf($1)}'`
TateSize=`echo ${FigSize} | awk '{printf($2)}'`
echo "Figure Size:"${FigSize}" Yoko Size:"${YokoSize}" Tate Size:"${TateSize}
strYokoSize=`echo ${YokoSize}*0.5 | bc`
echo " strYokoSize:"${strYokoSize}
### ファイル名からお弁当写真の日付の検出
nYear=`echo ${inputfile} | cut -c 3-6`
nMonth=`echo ${inputfile} | cut -c 7-8`
nDay=`echo ${inputfile} | cut -c 9-10`
### 英語ロケールに変更
export LANG=en
DateStampE=`date --date ${nYear}/${nMonth}/${nDay} +"%A, %B %d, %Y"`
export LANG=ja_JP.UTF-8
#echo ${DateStampE}
# echo "挿入キーワード"
StampString=" made on "
# 最終的に挿入する文字列設定
charAnnot=`echo ${StampString} ${DateStampE} `
echo "label string to be inserted : "${charAnnot}
echo ${charAnnot} > ./DateStamp.txt
## string label image
convert -background white -fill blue \
-font ${FontPath} -size ${strYokoSize}x label:@DateStamp.txt ${CiteFile}
convert -append ${TmpFile} ${CiteFile} ${inputfile}
done
rm -f ${TmpFile}
rm -f ${CiteFile}
---------------
最後に、m 行 x n 列で、連結。
#
# ArrayLunchBoxPhotos.sh
#
#
#!/bin/bash
# number of columns
nCol=3
nFig=1
for inputfile in ./*.jpg ; do
nFig=$((nFig+1))
echo ${inputfile}
#cp ${inputfile} "./tmp.jpg"
# insert credit
done
nRow=`expr ${nFig} / ${nCol}`
nRow=$((nRow+1))
echo " "
echo "---------- figure array -----------"
echo " nCol: "${nCol}
echo " nRow: "${nRow}
echo " nFig: "${nFig}
echo " "
montage -tile ${nCol}x${nRow} -geometry 640x480+5+5 -background "#000000" -bordercolor "#ffffff" -border 2 ./*.jpg output.jpg
---------------
上記4つを連ちゃん操作するバッチもつくるといいかも。
---------------
イメージ的にゃ、こんな出力。
とりあえず、できあがり。
ゆくゆく、各写真をクリックしたら、拡大するようにしてくれとか
言うのかなぁ....。
そうなったら、div 付きの html 出力するバッチか...。
---------------
0 件のコメント:
コメントを投稿