캐논 IXUS-V를 처음 사고 나서 홈페이지에 올릴 사진을 정리할 때 쓰기 위해 만들어서 당분간 많이 썼었죠. 뭐 지금은 사진 찍는 재미가 없어졌다기 보다는 210만 화소의 카메라보다 친구 녀석의 디카폰 해상도가 더 좋아지는 시대에 있다보니 맘 상해서 안 쓰고 있지만요. ^^
참고가 되실까 해서 올려봅니다. 내용인 즉슨 cfimgpath 변수에 저장된 위치(여기에서는 홈디렉터리 및에 photo-upload)에 찍은 사진을 넣고 홈페이지 어떤 디렉터리(convertpath 변수에 저장된)로 400x300 크기의 사진으로 변환하는 걸 나타냅니다. find 자체가 linear-search다 보니 사진이 많으면 검색에서 n*n/2 정도가 됩니다만 대강 쓰기엔 나쁘진 않습니다. -_-; find를 써서 이름을 변환하는 이유는 단지 last-modified time을 갖고 파일 이름을 변경하기 위함이구요. 나중에 필요에 따라 사진 파일의 헤더 부분을 보고 실제 날짜로 바꾸는 스크립트를 만드셔도 뭐 무방하겠고 암튼 뭐 그렇습니다.
줄이지 마세요..나중에 인화할'때..해상도가 높아야 선명하게
줄이지 마세요..
나중에 인화할'때..
해상도가 높아야 선명하게 인화되더라구요..
shell script + ImageMagick의 convert 결합!
shell script + ImageMagick의 convert 결합!
혹은 수천장의 사진을 모아서 축소해서 html 페이지까지 만들어주는 여러 유틸리티들.. (제가 사용해 본 건 JAlbum이었습니다.)
이런 방식으로...
캐논 IXUS-V를 처음 사고 나서 홈페이지에 올릴 사진을 정리할 때 쓰기 위해 만들어서 당분간 많이 썼었죠. 뭐 지금은 사진 찍는 재미가 없어졌다기 보다는 210만 화소의 카메라보다 친구 녀석의 디카폰 해상도가 더 좋아지는 시대에 있다보니 맘 상해서 안 쓰고 있지만요. ^^
참고가 되실까 해서 올려봅니다. 내용인 즉슨 cfimgpath 변수에 저장된 위치(여기에서는 홈디렉터리 및에 photo-upload)에 찍은 사진을 넣고 홈페이지 어떤 디렉터리(convertpath 변수에 저장된)로 400x300 크기의 사진으로 변환하는 걸 나타냅니다. find 자체가 linear-search다 보니 사진이 많으면 검색에서 n*n/2 정도가 됩니다만 대강 쓰기엔 나쁘진 않습니다. -_-; find를 써서 이름을 변환하는 이유는 단지 last-modified time을 갖고 파일 이름을 변경하기 위함이구요. 나중에 필요에 따라 사진 파일의 헤더 부분을 보고 실제 날짜로 바꾸는 스크립트를 만드셔도 뭐 무방하겠고 암튼 뭐 그렇습니다.
----- cut here -----
#!/bin/bash
cfimgpath="$HOME/photo-upload"
convertpath="$HOME/public_html/photos"
CONVERT="/usr/bin/convert"
echo ""
echo "Converting and Transfering..."
for filename in `ls -1 $cfimgpath`
do
newname=`find $cfimgpath -name $filename -printf '%Ty/%Tm/%Ty%Tm%Td%TH%TM%TS.jpg\n'`
yn="y"
if [ -f $convertpath/$newname ]; then
echo -n "$convertpath/$newname existed. overwrite it? (y/N) "
read yn
fi
if [ x$yn = x"y" -o x$yn = x"Y" ]; then
echo "$cfimgpath/$filename"
echo -n " to $convertpath/$newname : "
$CONVERT -size 400x300 $cfimgpath/$filename $convertpath/$newname
echo "done. "
fi
done
echo ""
echo -n "Remove all converted images in $cfimgpath? (y/N) "
read yn
if [ x$yn = x"y" -o x$yn = x"Y" ]; then
echo -n "$convertpath cleanning... : "
rm -f $cfimgpath/*
echo "done. "
fi
echo ""
exit 0
----- cut here -----
타면자건(唾面自乾)
man convert
man convert
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
댓글 달기