2017-01-06 13 views
0

다음 이미지를 취하여 16 : 9 해상도의 이미지 만이 이미지로 변환합니다.이미지 다운 사이징 스크립트는 리눅스에서 더 큰 크기의 이미지를 만듭니다.

## Usage: ./wallpaperise.sh <imagename.jpg> 

aw=16 #desired aspect ratio width... 
ah=9 #and height 

in="$1" 
out="wallpaperised_$1" 

wid=`convert "$in" -format "%[w]" info:` 
hei=`convert "$in" -format "%[h]" info:` 

tarar=`echo $aw/$ah | bc -l` 
imgar=`convert "$in" -format "%[fx:w/h]" info:` 

if (($(bc <<< "$tarar > $imgar"))) 
then 
    nhei=`echo $wid/$tarar | bc` 
    convert "$in" -gravity center -crop ${wid}x${nhei}+0+0 "$out" 
elif (($(bc <<< "$tarar < $imgar"))) 
then 
    nwid=`echo $hei*$tarar | bc` 
    convert "$in" -gravity center -crop ${nwid}x${hei}+0+0 "$out" 
else 
    cp "$in" "$out" 
fi 

문제는 이미지가 (이 모든에서 이미지를 변경하지 않는 경우에도 )을 작성 원본보다 더 큰 파일 크기 때문이다?

문제를 해결하려면 어떻게해야합니까?

답변

1

ImageMagick의 변환으로 JPEG를 변환 할 때 -quality 1 (작음)에서 -quality 100 (거대한)까지의 파일 크기를 선택할 수 있습니다.

플래그 이름에서 알 수 있듯이 파일 크기는 이미지 품질과 직접적으로 관련이 있습니다.

지정하지 않으면 ImageMagick's documentation은 입력의 품질 수준을 추측하려고 시도하지만 그렇지 않으면 92로 기본 설정됩니다. 귀하의 경우, 보수적으로 더 높은 품질의 설정을 선택하고 더 큰 파일을 만듭니다.

예를 들어 시도해 볼 수 있습니다. -quality 80, 모양이 어떻게 보이는지 확인하고, 적절하다고 판단되면 늘리거나 줄입니다.