{"id":624,"date":"2009-06-29T15:25:05","date_gmt":"2009-06-29T14:25:05","guid":{"rendered":"http:\/\/www.bdjl.de\/localhost\/?p=624"},"modified":"2009-06-29T16:35:24","modified_gmt":"2009-06-29T15:35:24","slug":"bildschrumpfede","status":"publish","type":"post","link":"https:\/\/www.bdjl.de\/localhost\/?p=624","title":{"rendered":"Bildschrumpfede"},"content":{"rendered":"<p><a href=\"http:\/\/bit.ly\/R4jmE\" target=\"_blank\">Hier<\/a> hab ich ein Skript f\u00fcr imagemagick gefunden, das ein Bild so lange in den Abmessungen schrumpft, bis es eine bestimmte Gr\u00f6\u00dfe in KB hat. Ich brauch aber meistens keine Gr\u00f6\u00dfenanpassungen, sondern lediglich eine &#8222;Gewichtsreduktion&#8220; schon in den Abmessungen angepasster Bilder.<\/p>\n<p>Ein Script f\u00fcr die Anpassung der Gr\u00f6\u00dfe einer einzelnen Datei, ohne die Abmessungen anzufassen, k\u00f6nnte so aussehen:<\/p>\n<blockquote><p>#!\/bin\/bash<br \/>\nif [ $# -ne 2 ]<br \/>\nthen<br \/>\necho -e &#8222;\\nusage:\u00a0 $0 &lt;file size limit&gt; &lt;image&gt;\\n&#8220;<br \/>\nexit<br \/>\nfi<br \/>\nIMAGE_FORMAT=jpg<br \/>\nFILE_SIZE_LIMIT=$1<br \/>\nIMAGE_IN=$2<br \/>\nBASENAME=`echo ${IMAGE_IN} | cut -d&#8216;.&#8216; -f-1 `<br \/>\nIMAGE_OUT=${BASENAME}.smaller.jpg<br \/>\nFILE_SIZE=`ls -sk $IMAGE_IN | cut -d&#8216; &#8218; -f1`<br \/>\nif [ $FILE_SIZE -ge $FILE_SIZE_LIMIT ]<br \/>\nthen<br \/>\necho &#8222;reducing $IMAGE_IN from: $FILE_SIZE KB to $1 KB&#8220;<br \/>\nSIZE=`identify $IMAGE_IN | cut -d&#8216; &#8218; -f7`<br \/>\nS=`echo $SIZE`<br \/>\necho &#8222;SIZE: ${S}&#8220;<br \/>\nQUAL=100<br \/>\nwhile [ $FILE_SIZE -ge $FILE_SIZE_LIMIT ]<br \/>\ndo<br \/>\nlet QUAL=QUAL-1<br \/>\necho &#8222;Current quality: ${QUAL}&#8220;<br \/>\nconvert $IMAGE_IN -quality ${QUAL} $IMAGE_OUT<br \/>\nFILE_SIZE=`ls -sk $IMAGE_OUT | cut -d&#8216; &#8218; -f1`<br \/>\necho &#8222;Current filesize: $FILE_SIZE KB&#8220;<br \/>\ndone<br \/>\nmv $IMAGE_OUT ${BASENAME}.${QUAL}.${IMAGE_FORMAT}<br \/>\nfi<\/p><\/blockquote>\n<blockquote><\/blockquote>\n<p>Den obigen Codeschnipsel f\u00fcr eigene Versuche und Anpassungen in eine Textdatei einf\u00fcgen (nennen wir sie filesize.sh) und diese ausf\u00fchrbar machen.<\/p>\n<blockquote><p>.\/filesize.sh 100 bild.jpg<\/p><\/blockquote>\n<p>macht dann bild.jpg 100kb gro\u00df und speichert das Ergebnis in der Datei<\/p>\n<blockquote><p>bild.qualit\u00e4tsstufenangabe.jpg<\/p><\/blockquote>\n<p>Oft muss man aber gleich ganze Ordner bearbeiten &#8211; was mit dem Script oben auch ginge:<\/p>\n<blockquote><p>find \/pfad\/zum\/ordner -iname &#8222;*.jpg&#8220;  -exec filesize.sh 100 {} \\;<\/p><\/blockquote>\n<p>Meist ist das aber doch viel zu dick aufgetragen, denn ohne Script geht das schnell mal so:<\/p>\n<blockquote><p>for i in `ls *.jpg`; do convert -quality 80 $i conv_$i; done<\/p><\/blockquote>\n<p>Dann schau man sich das Ergebnis an<\/p>\n<blockquote><p>ls -l conv*.jpg<\/p><\/blockquote>\n<p>und schreibt, sollte es nicht passen, halt eine niedrigere Zahl hinter -quality, nachdem man den ersten Durchgang mit<\/p>\n<blockquote><p>rm conv*.jpg<\/p><\/blockquote>\n<p>gel\u00f6scht hat. So lange bis es passt. Schnell und dreckig.<\/p>\n<p>Nachdem die Zeilen einmal eingegeben sind, stecken die in der History der Bash und k\u00f6nnen mit den Cursortasten nach Oben z\u00fcgig aufgerufen oder noch Tage sp\u00e4ter mit [Strg] [R] gesucht und gefunden werden.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hier hab ich ein Skript f\u00fcr imagemagick gefunden, das ein Bild so lange in den Abmessungen schrumpft, bis es eine bestimmte Gr\u00f6\u00dfe in KB hat. Ich brauch aber meistens keine Gr\u00f6\u00dfenanpassungen, sondern lediglich eine &#8222;Gewichtsreduktion&#8220; schon in den Abmessungen angepasster Bilder. Ein Script f\u00fcr die Anpassung der Gr\u00f6\u00dfe einer einzelnen Datei, ohne die Abmessungen anzufassen, [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-624","post","type-post","status-publish","format-standard","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts\/624","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=624"}],"version-history":[{"count":19,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts\/624\/revisions"}],"predecessor-version":[{"id":643,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts\/624\/revisions\/643"}],"wp:attachment":[{"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=624"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=624"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=624"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}