<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Le blog à Nono &#187; ImageMagick</title>
	<atom:link href="http://blogs.glou.org/arnaud/tag/imagemagick/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.glou.org/arnaud</link>
	<description>C'est l'histoire d'un geek...</description>
	<lastBuildDate>Sat, 04 Feb 2012 15:46:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Retailler des photos</title>
		<link>http://blogs.glou.org/arnaud/2010/06/07/retailler-des-photos/</link>
		<comments>http://blogs.glou.org/arnaud/2010/06/07/retailler-des-photos/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 19:08:04 +0000</pubDate>
		<dc:creator>nono</dc:creator>
				<category><![CDATA[geekeries]]></category>
		<category><![CDATA[ImageMagick]]></category>
		<category><![CDATA[photos]]></category>

		<guid isPermaLink="false">http://blogs.glou.org/arnaud/?p=218</guid>
		<description><![CDATA[Retailler des photos, c&#8217;est facile. Un p&#8217;tit coup de convert ou de mogrify et c&#8217;est tout bon. Sauf qu&#8217;en vrai, c&#8217;est un peu moins évident que ça. Il leur manque une fonctionnalité élémentaire : un critère sur la taille du fichier obtenu (en gros, un mogrify -geometry 800&#215;800 -max-filesize 200K). C&#8217;est dommage, j&#8217;en aurais bien [...]]]></description>
			<content:encoded><![CDATA[<p>Retailler des photos, c&#8217;est facile. Un p&#8217;tit coup de <em>convert</em> ou de <em>mogrify</em> et c&#8217;est tout bon.</p>
<p>Sauf qu&#8217;en vrai, c&#8217;est un peu moins évident que ça. Il leur manque une fonctionnalité élémentaire : un critère sur la taille du fichier obtenu (en gros, un <em>mogrify -geometry 800&#215;800 -max-filesize 200K</em>). C&#8217;est dommage, j&#8217;en aurais bien l&#8217;utilité pour publier des photos sur <a href="http://www.pentaxone.fr/">certain site web</a>. Du coup, j&#8217;ai bricolé en vitesse un petit bout de fonction <em>zsh</em> pour retailler des photos en 800&#215;800, 200 Ko maximum.</p>
<p>Il y a plein de trucs codés en dur dedans et on sent bien mes restes de programmation de mon enfance, mais ça marche à peu près. <img src='http://blogs.glou.org/arnaud/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<pre>## Retaillage en 800x800, 200 Ko pour PentaxOne
resize4p1 () {
    if [[ $# -ne 1 ]]
    then
	echo "usage: resize4p1 source.jpeg"
	return 1
    fi
    source=$1
    dest=$(basename $source .jpeg).small.jpeg
    if [[ ! -f $source ]]
    then
	echo "E: Source file ${source} does not exist."
	return 1
    fi
    if [[ -f $dest ]]
    then
	echo "E: Destination file ${dest} already exists."
	return 1
    fi

    # Premiere passe en dur, pas beau mais initialise le "until" comme il faut.
    echo -n "Quality 100 ... "
    convert -antialias -geometry 800x800 -quality 100 $source $dest
    filesize=$(du -sk $dest | awk '{ print $1 }')
    echo "done -- file size is $filesize KB."

    q=99
    until [[ $filesize -lt 200 ]]
    do
	echo -n "Quality $q  ... "
	convert -antialias -geometry 800x800 -quality $q $source $dest
	filesize=$(du -sk $dest | awk '{ print $1 }')
	echo "done -- file size is $filesize KB."
	q=$(($q - 1))
	if [[ $q -lt 1 ]]
	then
	    echo "E: Quality 1 is not small enough -- unexpected error."
	    return 1
	fi
    done
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blogs.glou.org/arnaud/2010/06/07/retailler-des-photos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

