bash + ImageMagick > 일반 흰색 이미지에 여러 문자열 쓰기 v0.1

운영 환경
CentOS release 6.9 (Final)
GNU Bash-4.1
ImageMagick Version: ImageMagick 6.7.2-7 2017-03-22 Q16

처리 개요


  • 지정된 크기의 흰색 이미지 준비
  • 지정된 문자열 (복수)을 지정된 형식으로 이미지에 씁니다.

    코드 v0.1



    prepareStringImage_180808_exec
    #!/usr/bin/env bash
    
    # v0.1 Aug. 08, 2018
    #   - overlay strings to a white canvas
    
    set -eu  # just in case
    
    OUTFILE="string_180808.png"
    WRKFILE="wrk_180808.png"
    
    ###########
    # CONFIGURATIONS
    YPOSS=("30" "60" "90")  # start y positions
    STSTRS=("0" "100" "200")  # start strings (ST)
    EDSTRS=("100" "200" "300")  # end strings (ED)
    UNIT="cm"
    FORMSTR="%s to %s%s"  #format of the string using (ST, ED, UNIT)
    CANVAS_SIZE="300x100"
    FONT_SIZE="20"
    ###########
    
    #1. prepare canvas
    convert -size $CANVAS_SIZE xc:white $WRKFILE 
    
    #2. overlay strings
    ((maxloop_st0 = ${#YPOSS[*]} - 1))
    for idx in $(seq 0 $maxloop_st0)
    do
        atxt="$(printf "$FORMSTR" ${STSTRS[idx]} ${EDSTRS[idx]} $UNIT)"
        echo $atxt
        prm="-pointsize $FONT_SIZE -annotate +10+${YPOSS[idx]}"
        convert $prm "$atxt" $WRKFILE $OUTFILE
        mv $OUTFILE $WRKFILE  # for overlay 
    done
    
    #3. rename as output
    mv $WRKFILE $OUTFILE
    
    #message
    echo "[$OUTFILE] is created"
    
    

    실행



    실행
    $ bash prepareStringImage_180808_exec 
    0 to 100cm
    100 to 200cm
    200 to 300cm
    [string_180808.png] is created
    

    아래는 eog string_180808.png 결과.



    관련 > 구현시 참고


  • bash > printf > 접두사를 추가하는 방법 > filename3=$(printf "%s_%02d.nc" $prefix $idx) > $prefix에 %가 포함될 가능성도 고려
  • ImageMagick | Python 2 (v2.6.6) > 파일 이름에서 날짜와 시간을 가져 와서 이미지에 날짜 및 시간 레이블 추가 > label_image_171005.py v0.1 > subprocess.call에서 항목 중 하나에 공백이 있으면 피하십시오. .split()

  • ImageMagick 이미지에 문자 넣기 by @hsagae
  • 정보 감사입니다


  • 관련 > 용도


  • Python 3 (v3.4.8) + ImageMagick > 여러 이미지를 잘라내어 합성 v0.1: 소스의 설정으로 이동 | v0.2: JSON 파일에서 설정 가져오기

  • 예를 들면, 전술 한 스크립트에 의해 준비된 문자열 화상은 링크 목적지의 "이미지 절단, 합성"처리에 의해 합성된다.

    좋은 웹페이지 즐겨찾기