nconvert를 이용한 한그림파일을 쪼개서 여러 파일로 만들기
원글(이글루): 2011-06-08 17:53:58
처음 의도는 기타Code표를 각 코드별로 한파일로 쪼개어 놓고 싶어서 였다.
아마 아래를 다른 용도로 사용하려면, 쪼개서 퍼즐 같은 것을 만들때 짤라놓은 이미지로 쓰고 싶을때도 가능하겠다.
1) nconvert 다운로드경로
http://www.xnview.com/en/nconvert.html
2) bash script로 짠 이미지 쪼개기
#!/bin/bash
# 얼마만큼 짜르는가?
let SET_SEP_X=6
let SET_SEP_Y=14
# 전체이미지 괄호세로
let MAX_IMG_X=2337
let MAX_IMG_Y=3846
OUT_DIR_PREFIX="D:\Tmp\5\\"
INPUT_FILE="C:\Tmp\CODE_2.jpg"
# 0: row_col / 1: 위치로
OUT_FILE_TYPE=0
let ADJ_SIZE_X=0
let ADJ_SIZE_Y=0
let CUT_IMG_START_POS_Y=0
let INT_Y=${MAX_IMG_Y}/${SET_SEP_Y}
let INT_X=${MAX_IMG_X}/${SET_SEP_X}
let CUT_NEXT_POS_Y=0
let CUR_SEP_Y=${SET_SEP_Y}-1
while [ ${CUR_SEP_Y} -ge 0 ]
do
let CUT_NEXT_POS_Y=${MAX_IMG_Y}-${INT_Y}*${CUR_SEP_Y}
let CUT_NEXT_POS_X=0
let CUR_SEP_X=${SET_SEP_X}-1
let CUT_IMG_START_POS_X=0
while [ ${CUR_SEP_X} -ge 0 ]
do
let CUT_NEXT_POS_X=${MAX_IMG_X}-${INT_X}*${CUR_SEP_X}
if [ ${OUT_FILE_TYPE} -eq 1 ]; then
OUT_PUT_NAME="${OUT_DIR_PREFIX}${CUT_IMG_START_POS_X}_${CUT_IMG_START_POS_Y}.jpg"
else
let CUR_COL=${SET_SEP_Y}-${CUR_SEP_Y}
let CUR_ROW=${SET_SEP_X}-${CUR_SEP_X}
OUT_PUT_NAME="${OUT_DIR_PREFIX}${CUR_ROW}_${CUR_COL}.jpg"
fi
let GAP_X=${CUT_NEXT_POS_X}-${CUT_IMG_START_POS_X}
let GAP_Y=${CUT_NEXT_POS_Y}-${CUT_IMG_START_POS_Y}
let ADJ_POS_Y=${CUT_IMG_START_POS_Y}-${ADJ_SIZE_Y}
let ADJ_POS_X=${CUT_IMG_START_POS_X}-${ADJ_SIZE_X}
if [ ${ADJ_POS_X} -lt 0 ]; then
let ADJ_POS_X=0
fi
if [ ${ADJ_POS_Y} -lt 0 ]; then
let ADJ_POS_Y=0
fi
echo "nconvert -npcd 2 -ctype grey -corder inter -out jpeg -o ${OUT_PUT_NAME} -crop ${ADJ_POS_X} ${ADJ_POS_Y} ${GAP_X} ${GAP_Y} \"${INPUT_FILE}\""
let CUT_IMG_START_POS_X=${CUT_NEXT_POS_X}
let CUR_SEP_X=${CUR_SEP_X}-1
done
let CUT_IMG_START_POS_Y=${CUT_NEXT_POS_Y}
let CUR_SEP_Y=${CUR_SEP_Y}-1
done