<?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>SIMOTRONE WEB PAGE &#187; convert</title>
	<atom:link href="http://www.simotrone.it/tag/convert/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.simotrone.it</link>
	<description>Simotrone is back!</description>
	<lastBuildDate>Fri, 30 Jul 2010 05:47:22 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>xargs (3)</title>
		<link>http://www.simotrone.it/2010/01/05/xargs-3/</link>
		<comments>http://www.simotrone.it/2010/01/05/xargs-3/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 06:27:41 +0000</pubDate>
		<dc:creator>Simotrone</dc:creator>
				<category><![CDATA[Binary People]]></category>
		<category><![CDATA[convert]]></category>
		<category><![CDATA[find]]></category>
		<category><![CDATA[ImageMagick]]></category>
		<category><![CDATA[mogrify]]></category>
		<category><![CDATA[xargs]]></category>

		<guid isPermaLink="false">http://www.simotrone.it/?p=2587</guid>
		<description><![CDATA[Mentre stavo cipollando, come al solito, per sistemare le foto delle vacanze a Miami ho trovato qualche opzioncina che potrebbe essere utile.

find . -maxdepth 1 -iname &#34;*.jpg&#34; &#124; xargs -L 1 -I &#123;&#125; convert &#123;&#125; -resize 50% dir/&#123;&#125;

Il find è semplice, e accatta i nomi dei file ( -iname, case insensitive) nella dir locale.
Poi entra [...]]]></description>
			<content:encoded><![CDATA[<p>Mentre stavo cipollando, come al solito, per sistemare le foto delle vacanze a Miami ho trovato qualche opzioncina che potrebbe essere utile.</p>
<div class="codesnip-container" >
<div class="codesnip" style="font-family: monospace;"><span class="kw2">find</span> . -maxdepth <span class="nu0">1</span> -iname <span class="st0">&quot;*.jpg&quot;</span> | <span class="kw2">xargs</span> -L <span class="nu0">1</span> -I <span class="br0">&#123;</span><span class="br0">&#125;</span> convert <span class="br0">&#123;</span><span class="br0">&#125;</span> -resize <span class="nu0">50</span>% <span class="kw2">dir</span>/<span class="br0">&#123;</span><span class="br0">&#125;</span></div>
</div>
<p>Il <strong>find</strong> è semplice, e accatta i nomi dei file ( <strong>-iname</strong>, <em>case insensitive</em>) nella dir locale.<br />
Poi entra in gioco xargs che prende l&#8217;output di find mettendo un argomento per linea (<strong>-L 1</strong>) e prende in consegna le occorrenze con <strong>-I {}</strong> (-I implica -L che quindi potrebbe essere evitato): in questo modo otteniamo delle copie dei file .jpg ridotte del 50% nella directory <strong>dir/</strong>.</p>
<p>In effetti un comando come quello che segue sarebbe stato anche più rapido (vedi vecchio post sui <a href="http://www.simotrone.it/2009/06/20/thumbnails/">thumbnail</a>).</p>
<div class="codesnip-container" >
<div class="codesnip" style="font-family: monospace;"><span class="kw2">find</span> . -maxdepth <span class="nu0">1</span> -iname <span class="st0">&quot;*.jpg&quot;</span>| <span class="kw2">xargs</span> mogrify -path th/ -thumbnail 120&#215;120 -quality <span class="nu0">75</span> -format png</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.simotrone.it/2010/01/05/xargs-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>convert (3)</title>
		<link>http://www.simotrone.it/2009/02/27/convert-3/</link>
		<comments>http://www.simotrone.it/2009/02/27/convert-3/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 05:32:58 +0000</pubDate>
		<dc:creator>Simotrone</dc:creator>
				<category><![CDATA[Binary People]]></category>
		<category><![CDATA[convert]]></category>
		<category><![CDATA[gif animati]]></category>
		<category><![CDATA[ImageMagick]]></category>
		<category><![CDATA[jpg]]></category>
		<category><![CDATA[manipolazione immagini]]></category>
		<category><![CDATA[thumbnail]]></category>

		<guid isPermaLink="false">http://www.simotrone.it/?p=1332</guid>
		<description><![CDATA[Ho già parlato in ben 2 occasioni (uno e due) di quello spettacolo che è convert di ImageMagick.
Di norma uso il programma per ridurre proporzionalmente le dimensioni delle immagini tramite bash script (opzione -thumbnail) o per cambiare formato.
Un&#8217;altra cosa ficca che avevo fatto era creare sequenze di foto con -delay e -morph.
Di recente ho dovuto [...]]]></description>
			<content:encoded><![CDATA[<p>Ho già parlato in ben 2 occasioni (<a href="http://www.simotrone.it/2007/10/09/console-convert-e-hdparm/">uno</a> e <a href="http://www.simotrone.it/2008/04/20/convert-2/">due</a>) di quello spettacolo che è <strong>convert</strong> di <a href="http://www.imagemagick.org/script/index.php">ImageMagick</a>.</p>
<p>Di norma uso il programma per ridurre proporzionalmente le dimensioni delle immagini tramite bash script (opzione <strong>-thumbnail</strong>) o per cambiare formato.<br />
Un&#8217;altra cosa <em>ficca</em> che avevo fatto era creare sequenze di foto con <strong>-delay</strong> e <strong>-morph</strong>.</p>
<p>Di recente ho dovuto anche ritagliare alcune foto in modo da escludere i bordi e creare tagli più o meno interessanti. Per fare questo è stato necessario scomodare la flag <strong>-crop</strong>.<br />
Partiamo da un&#8217;immagine abbastanza grandicella</p>
<blockquote><pre>sim@idrogeno:~/img$ identify globo.jpg
globo.jpg JPEG 1024x1024 1024x1024+0+0 DirectClass 8-bit
          169.07kb</pre>
</blockquote>
<p>che guarda caso rimpicciolisco con <strong>$ convert globo.jpg -thumbnail 300x globo_300.jpg</strong> in modo da avere un&#8217;immagine decente per il bloggo:<br />
<img src="/wp-content/img/globo/globo_300.jpg" alt="Globo 300px" /><br />
Ora, abbiamo questa immagine grande, ma noi vogliamo solo la fascia sopra l&#8217;equatore e sotto il polo nord&#8230;</p>
<blockquote><pre>sim@idrogeno:~/img$ convert globo.jpg -crop 1024x240+0+150
          globo_fascia.jpg</pre>
</blockquote>
<p>che (ridimensionata) ci darà questo taglio:<br />
<img src="/wp-content/img/globo/globo_fascia_300.jpg" alt="Tropico cancro 300px" /></p>
<p><strong>-crop</strong> richiede come parametri <em>$larghezza</em> x <em>$altezza</em> della nuova immagine + la distanza dal bordo sinistro e dall&#8217;alto (sì, il punto di partenza di crop è l&#8217;angolo in alto a sinistra); quindi essenzialmente noi abbiamo detto a convert di prendere l&#8217;immagine globo.jpg, e ritagliare un jpg di 1024&#215;240 a partire dalla posizione (0,150) dello schermo.</p>
<p>Nel caso avessimo molte foto di formati diversi e sapendo che i nostri soggetti sono al centro di esse, possiamo fare il taglio con crop partendo dal centro utilizzando il flag <strong>-gravity Center</strong>.</p>
<blockquote><pre>sim@idrogeno:~/img$ convert globo.jpg -gravity Center
          -crop 500x500+0-200 globo_centro.jpg</pre>
</blockquote>
<p>Con questa riga ho crop&#8217;pato un&#8217;immagine di 500&#215;500 che è partita dal centro grazie a -gravity Center, ma con uno spostamento di 0 verso sinistra e -200 verso il basso (o meglio +200 verso l&#8217;alto).<br />
Il risultato è il seguente:<br />
<img src="/wp-content/img/globo/globo_centro_300.jpg" alt="Tropico cancro 300px" /></p>
<p>Per ulteriori info su crop, andare <a href="http://www.imagemagick.org/script/command-line-options.php#crop">qua</a>.</p>
<p>Nota finale: scrivendo una cosa come</p>
<blockquote><pre>convert globo.jpg -crop 128x128 shard.jpg</pre>
</blockquote>
<p>otterremo tanti frammenti (di 128&#215;128 pixel) della nostra immagine iniziale (li numera direttamente convert; nel caso specifico ho creato 64 &#8220;piastrelle&#8221;).</p>
<blockquote><pre>sim@idrogeno:~/img$ convert globo.jpg -thumbnail 512x
          globo_512.jpg
sim@idrogeno:~/img$ convert globo_512.jpg -crop 512x128
          globsh.jpg
sim@idrogeno:~/img$ convert -morph 15 -delay 10 globsh-*
          globsh-0.jpg globsh4.gif</pre>
</blockquote>
<p><img src="/wp-content/img/globo/globsh4.gif" alt="striscia animata" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simotrone.it/2009/02/27/convert-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>convert (2)</title>
		<link>http://www.simotrone.it/2008/04/20/convert-2/</link>
		<comments>http://www.simotrone.it/2008/04/20/convert-2/#comments</comments>
		<pubDate>Sun, 20 Apr 2008 09:45:37 +0000</pubDate>
		<dc:creator>Simotrone</dc:creator>
				<category><![CDATA[Binary People]]></category>
		<category><![CDATA[convert]]></category>
		<category><![CDATA[gif animate]]></category>
		<category><![CDATA[ImageMagick]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.simotrone.it/?p=520</guid>
		<description><![CDATA[Tempo fa avevo scritto un post su convert per indicarne le semplici funzioni che permettevano di ridimensionare le immagini.
Oramai il procedimento è automatico grazie a scriptini tipo
# for ARG in immagini_* ; do convert $ARG -thumbnail 150x `echo $ARG &#124; sed s/jpg/thumb\.jpg/`; done    
che da riga di comando mi permettono di creare [...]]]></description>
			<content:encoded><![CDATA[<p>Tempo fa avevo scritto un <a href="http://www.simotrone.it/2007/10/09/console-convert-e-hdparm/">post su convert</a> per indicarne le semplici funzioni che permettevano di ridimensionare le immagini.<br />
Oramai il procedimento è automatico grazie a scriptini tipo</p>
<blockquote><p># for ARG in immagini_* ; do convert $ARG -thumbnail 150x `echo $ARG | sed s/jpg/thumb\.jpg/`; done    </p></blockquote>
<p>che da riga di comando mi permettono di creare tutte le <em>thumbnail</em> di cui ho bisogno e poi upparle comodamente col <em>client ftp</em>.</p>
<hr/>
<p>Complice una <a href="http://toonik.wordpress.com/2008/02/29/modificare-immagini-dalla-riga-di-comando/">guidina di Toonik</a>, mi sono ri-cimentato nel manipolare un po&#8217; su <em>ImageMagick</em>, e ho avuto modo così di creare le mie prime gif animate. <img src='http://www.simotrone.it/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><img src="http://www.simotrone.it/wp-content/motori/fz6s2/scatti.gif" alt="serie discreta" align="right" />Per creare slide di una serie di foto: </p>
<blockquote><p># convert -delay 100 serie_di_immagini_* animata.gif</p></blockquote>
<p>L&#8217;argomento dell&#8217;opzione <strong>-delay</strong> sono il numero di centesimi di secondo che devono passare fra un&#8217;immagine e la seguente della serie.</p>
<hr/>
<p><img src="http://www.simotrone.it/wp-content/motori/fz6s2/fade.gif" alt="dissolvenza" align="right"/>Un altro comando <strong>stupendo</strong> (a mio avviso) è quello che crea una dissolvenza delle immagini. L&#8217;effetto è notevole.</p>
<blockquote><p># convert -morph 15 -delay 10 serie_di_immagini_*.jpg prima_della_serie.jpg fade.gif</p></blockquote>
<p>Ammesso che solo questo effetto per me vale il &#8220;prezzo del biglietto&#8221;, esso richiede un po&#8217; più di studio.<br />
L&#8217;opzione <strong>-delay</strong> come prima delinea l&#8217;attesa fra un frame ed un altro &#8211; quindi in questo caso andrà tenuto breve per far sì che l&#8217;occhio percepisca la transizione fra i vari frame sfumati che <strong>-morph</strong> crea. (Ricordo che la <em>breakline</em> dell&#8217;occhio è di <em>25 frame per second</em>, come studiato alle medie. <img src='http://www.simotrone.it/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )<br />
La trasformazione vera e propria è dovuta a -morph che utilizza il numero di interpolazioni indicato (in questo caso 15) per sfumare l&#8217;immagine precedente in quella successiva.</p>
<p><strong>Piccolo trucco</strong>. Per rendere il loop fra le immagini &#8220;continuo&#8221;, ho utilizzato un piccolo accorgimento: ripetere la prima immagine in fondo alla serie (come si vede dal mio esempio da riga di comando). Questo è necessario perchè <strong>convert</strong> ritiene concluso il ciclo all&#8217;arrivo dell&#8217;ultima immagine, quindi il passaggio dall&#8217;ultima alla prima del ciclo successivo sarebbe senza <em>morphing</em>; aggiungendo invece nuovamente l&#8217;immagine#1, quando convert arriva all&#8217;ultima immagine del ciclo (che in tal senso diventa la penultima), la sfuma nella prima, per poi riavviare il loop.</p>
<p><img src="http://www.simotrone.it/wp-content/motori/fz6s2/fade01.gif" alt="dissolvenza" align="right"/>Infine, presento un gif animato creato con 100 interpolazioni (-morph 100) e un ritardo di un centesimo di secondo per ognuna di esse (-delay 1). L&#8217;occhio non distingue più i frame e l&#8217;animazione risulta estremamente fluida. Ovviamente tutto questo sforzo non è necessario, soprattutto in casi in cui le immagini non sono nemmeno molto simili fra di loro (come nel mio esempio).<br />
Si tenga conto inoltre che questa gif con tanti frame pesa 6 mega invece che 1 come la precedente&#8230;</p>
<p><strong>Nota</strong>. <strong>display animazione.gif</strong> non mi visualizzava i gif con il ritardo esatto, ma un po&#8217; rallentato. (Non ho indagato sulle ragioni.) I controlli per vedere il lavoro finito li ho fatti con <strong>gwenview</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simotrone.it/2008/04/20/convert-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Console: convert e hdparm</title>
		<link>http://www.simotrone.it/2007/10/09/console-convert-e-hdparm/</link>
		<comments>http://www.simotrone.it/2007/10/09/console-convert-e-hdparm/#comments</comments>
		<pubDate>Tue, 09 Oct 2007 21:32:38 +0000</pubDate>
		<dc:creator>Simotrone</dc:creator>
				<category><![CDATA[Binary People]]></category>
		<category><![CDATA[console]]></category>
		<category><![CDATA[convert]]></category>
		<category><![CDATA[hdparm]]></category>
		<category><![CDATA[immagini]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[ridimensionamento]]></category>

		<guid isPermaLink="false">http://www.simotrone.it/2007/10/09/console-convert-e-hdparm/</guid>
		<description><![CDATA[Oggi ho provato due comandi nuovi.

Il primo è convert. Esagerato. Un pezzo di ImageMagick funzionalissimo e utilissimo.
Per ora la riga di comando utilizzata è molto semplice, ma il manuale riporta qualche quintale di esempi i funzionalità che andranno analizzate.
Un esempio per creare un&#8217;immagine ridotta di larghezza definita e altezza in proporzione.
# convert image_input.jpg -thumbnail 250x [...]]]></description>
			<content:encoded><![CDATA[<p>Oggi ho provato due comandi nuovi.</p>
<ol>
<li>Il primo è <strong>convert</strong>. Esagerato. Un pezzo di <strong>ImageMagick</strong> funzionalissimo e utilissimo.<br />
Per ora la riga di comando utilizzata è molto semplice, ma il manuale riporta qualche quintale di esempi i funzionalità che andranno analizzate.<br />
Un esempio per creare un&#8217;immagine ridotta di larghezza definita e altezza in proporzione.</p>
<blockquote><p># convert image_input.jpg -thumbnail 250x image_output.jpg</p></blockquote>
<p>Un esempio che crea una scritta a sfondo trasparente.</p>
<blockquote><p># convert -size 430&#215;85 xc:transparent -font Bookman-DemiItalic -pointsize 72 -draw &#8220;text 25,70 &#8216;Simotrone&#8217;&#8221;     -channel RGBA -gaussian 0&#215;6 -fill darkred -stroke magenta -draw &#8220;text 20,65 &#8216;Simotrone&#8217;&#8221; file.png</p></blockquote>
<p>E il manuale di convert si trova <a href="http://www.imagemagick.org/script/convert.php">qua</a>, e ce n&#8217;è da imparare.</li>
<li>Il secondo comando è <strong>hdparm</strong> e concede informazioni interessanti sulla rapidità del disco e della ram. (segnalato da aCaB.)<br />
Un esempio con la sistemazione provvisoria di idrogeno.</p>
<blockquote><p># hdparm -tT /dev/hda<br />
/dev/hda:<br />
Timing cached reads:   528 MB in  2.00 seconds = 263.71 MB/sec<br />
Timing buffered disk reads:  166 MB in  3.01 seconds =  55.21 MB/sec</p></blockquote>
<p>Dopo aver aggiornato idrogeno con hardware un po&#8217; migliore&#8230;</p>
<blockquote><p>idrogeno:# hdparm -tT /dev/sda2<br />
/dev/sda2:<br />
Timing cached reads:   2328 MB in  2.00 seconds = 1164.94 MB/sec<br />
Timing buffered disk reads:  192 MB in  3.00 seconds =  63.90 MB/sec</p></blockquote>
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.simotrone.it/2007/10/09/console-convert-e-hdparm/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
