ImageMagick으로 다양한 크기의 그래픽 결합

ImageMagick으로 다양한 크기의 그래픽 결합

검정색 배경에 은색 동전이 있는 대량의 이미지를 처리하고 있습니다. 먼저 다음과 같이 크기를 계산하여 파일을 자릅니다: Trimbox=$(convert $f -fuzz 35% -format "%@" info:)

처음 2개의 매개변수에 50을 추가하고 마지막 2개의 매개변수에 각각 25를 추가합니다(트림이 감지하는 것 이상으로 원본 그림이 더 많이 표시되도록 하기 위해). 차이 없이 이러한 오프셋을 제거하여 테스트했습니다.

convert "$f" -crop "$trimbox" +repage "$baseFilename-trimmed.jpg"

일단 다듬어지면 다음을 사용하고 있습니다.

    command="$baseoFilename-trimmed.jpg $baserFilename-trimmed.jpg "
    command2="+repage _MG_$first"
    convert $command -append $command2-vmerged.jpg
    convert $command +append $command2-hmerged.jpg

파일을 병합합니다. -Background black 또는 -fill black을 사용하여 변형을 시도했지만 소용이 없었습니다.

얇은 흰색 직사각형이 나타나는 이유는 두 이미지의 크기가 약간 다르기 때문입니다.

수정이 필요하지 않지만 검은색 막대도 허용할 수 있도록 크기를 동일하게 조정하는 것이 좋습니다.

파일 샘플:

물론 흰색 배경에서 이것을 보면 내가 말하는 내용이 모호해집니다.

답변1

이 스크립트는 원하는 작업을 수행해야 합니다. 트리밍 시 이미지의 최대 너비 또는 최대 높이를 사용합니다.

# !/bin/bash

set -eu

gettrimbox() {
    # Some lines were based on the code of Fred Weinhaus available on http://www.fmwconcepts.com/imagemagick/autotrim/
    trimbox=$(convert "$1" -fuzz 35% -format "%@" info: | tr -cs "0-9\n" " ")
    r_w=$(echo $trimbox | cut -d\  -f1)
    r_h=$(echo $trimbox | cut -d\  -f2)
    r_xoff=$(echo $trimbox | cut -d\  -f3)
    r_yoff=$(echo $trimbox | cut -d\  -f4)
    r_xcenter=$(((r_w/2)+r_xoff))
    r_ycenter=$(((r_h/2)+r_yoff))
    r_w=$((r_w+50))
    r_h=$((r_h+50))
}

f1=$1
f2=$2
number1=$(echo "$f1" | tr -dc "0-9")

gettrimbox "$f1"
w1=$r_w; h1=$r_h
xcenter1=$r_xcenter; ycenter1=$r_ycenter

gettrimbox "$f2"
w2=$r_w; h2=$r_h
xcenter2=$r_xcenter; ycenter2=$r_ycenter

if [ $w1 -gt $w2 ]; then max_w=$w1; else max_w=$w2; fi
if [ $h1 -gt $h2 ]; then max_h=$h1; else max_h=$h2; fi

convert "$f1"[$max_w"x"$h1+$((xcenter1-(max_w/2)))+$((ycenter1-(h1/2)))] \
        "$f2"[$max_w"x"$h2+$((xcenter2-(max_w/2)))+$((ycenter2-(h2/2)))] \
        -append +repage "_MG_$number1-vmerged.jpg"

convert "$f1"[$w1"x"$max_h+$((xcenter1-(w1/2)))+$((ycenter1-(max_h/2)))] \
        "$f2"[$w2"x"$max_h+$((xcenter2-(w2/2)))+$((ycenter2-(max_h/2)))] \
        +append +repage "_MG_$number1-hmerged.jpg"

답변2

Imagemagick 대신 Irfanview64를 사용합니다.

  • 유연한 이미징 도구가 있습니다.
  • 썸네일 앱을 실행하려면 "T"로 썸네일을 실행하세요.
  • 폴더를 탐색하고>편집, 모든 하위 폴더 추가<에서 로드할 수도 있습니다.
  • 썸네일 옵션은 광범위합니다.
  • Ctrl + 클릭 키를 사용하여 여러 이미지를 선택할 수 있습니다
  • 그런 다음 >파일>밀착 시트 만들기) 배열 크기 x*y 및 사이의 간격 등을 조정합니다.

여기에 이미지 설명을 입력하세요 여기에 이미지 설명을 입력하세요

관련 정보