Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:sysadmin:tools:imagemagick_reisst_aus

Imagemagick reisst aus - Bildränder wie abgerissen (Skript)

Beispiel

Bilder ausreissen - ganz schön mühsam. Wie schön, daß man sich helfen lassen kann!

Bash-Script

#!/bin/bash
 
# bildausreissen.sh
 
# macht Bilder mit "abgerissenem" Rand
# zuerst wird das Original auf max 400x400 verkleinert
# dann wird das Bild mehr oder weniger weit ausgerissen
 
# Hella Breitkopf, http://www.unixwitch.de, 2012-07-17
 
# aufruf:
#   bildausreissen.sh meinbild.jpg
 
 
# Quelle: http://www.imagemagick.org/Usage/thumbnails/#torn
 
# Benoetigt imagemagick (evtl funktioniert graphicsmagick aber auch)
 
 
CONVERT=/usr/bin/convert
MOGRIFY=/usr/bin/mogrify
BASENAME=/usr/bin/basename
 
orig=$1
 
kleinerals="400>x400>"
 
name=$orig
for suffix in .gif .png .jpg .JPG .PNG .JPEG .jpeg; do
	name=`$BASENAME $name $suffix`
done
 
kleiner=${name}_small.png
 
out0=${name}_abriss0.png
out1=${name}_abriss1.png
out2=${name}_abriss2.png
out3=${name}_abriss3.png
out4=${name}_abriss4.png
outX=${name}_abriss5.png
 
$CONVERT -resize $kleinerals $orig $kleiner
 
# mache einen hellgrauen ausgerissenen Rand ums Bild
$CONVERT $kleiner -bordercolor "#efefef" -border 45x45\
	 \( +clone -alpha extract -virtual-pixel black \
		-spread 40 -blur 0x3 -threshold 70% -spread 2 -blur 0x.7 \) \
	-alpha off -compose Copy_Opacity -composite $out0
 
 
# reisse das Bild aus ... ohne weiteren Rand
 
# je mehr "spread", um so mehr ausgefranst wird das ergebnis-bild,
# um so mehr rand geht aber auch verloren
 
$CONVERT $kleiner \( +clone -alpha extract -virtual-pixel black \
	-spread 10 -blur 0x3 -threshold 70% -spread 2 -blur 0x0.7 \) \
	-alpha off -compose Copy_Opacity -composite $out1
$CONVERT $kleiner \( +clone -alpha extract -virtual-pixel black \
	-spread 20 -blur 0x3 -threshold 70% -spread 2 -blur 0x0.7 \) \
	-alpha off -compose Copy_Opacity -composite $out2
$CONVERT $kleiner \( +clone -alpha extract -virtual-pixel black \
	-spread 30 -blur 0x3 -threshold 70% -spread 2 -blur 0x0.7 \) \
	-alpha off -compose Copy_Opacity -composite $out3
$CONVERT $kleiner \( +clone -alpha extract -virtual-pixel black \
	-spread 40 -blur 0x3 -threshold 70% -spread 2 -blur 0x0.7 \) \
	-alpha off -compose Copy_Opacity -composite $out4
 
# jetzt noch so weit trimmen, wie moeglich
for FILE in $out1 $out2 $out3 $out4; do
	$MOGRIFY -trim $FILE 
done
de/sysadmin/tools/imagemagick_reisst_aus.txt · Zuletzt geändert: 2012-07-16 23:34 von hella

Seiten-Werkzeuge