<?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; ImageMagick</title>
	<atom:link href="http://www.simotrone.it/tag/imagemagick/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>img_resize</title>
		<link>http://www.simotrone.it/2009/07/02/img_resize/</link>
		<comments>http://www.simotrone.it/2009/07/02/img_resize/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 06:36:17 +0000</pubDate>
		<dc:creator>Simotrone</dc:creator>
				<category><![CDATA[Binary People]]></category>
		<category><![CDATA[ImageMagick]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.simotrone.it/?p=1964</guid>
		<description><![CDATA[Poiché la libreria Imagick di php NON si comporta proprio come imagemagick da cmdl, mi sono fatto una semplice funzione per thumbnailare le immagini che carico con un form.
Per qualche oscura ragione a differenza di suo padre, la funzione Imagick::thumbnailImage della libreria non riduce a partire dal lato più lungo, quindi bisogna imporre la propria [...]]]></description>
			<content:encoded><![CDATA[<p>Poiché la libreria Imagick di php <strong>NON</strong> si comporta proprio come imagemagick da cmdl, mi sono fatto una semplice funzione per <em>thumbnailare</em> le immagini che carico con un form.</p>
<p>Per qualche oscura ragione a differenza di suo padre, la funzione Imagick::thumbnailImage della libreria non riduce a partire dal lato più lungo, quindi bisogna imporre la propria volontà.</p>
<div class="codesnip-container" >
<div class="codesnip" style="font-family: monospace;"><span class="kw2">&lt;?php</span><br />
<span class="kw2">function</span> img_resize<span class="br0">&#40;</span><span class="re0">$src</span>,<span class="re0">$dst</span>,<span class="re0">$size</span> = <span class="nu0">450</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$max_length</span> = <span class="re0">$size</span>; <span class="coMULTI">/* Lato maggiore consentito in px */</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$img</span> = <span class="kw2">new</span> Imagick<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$img</span>-&gt;<span class="me1">readImage</span><span class="br0">&#40;</span><span class="re0">$src</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$real_width</span> &nbsp;= <span class="re0">$img</span>-&gt;<span class="me1">getImageWidth</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$real_height</span> = <span class="re0">$img</span>-&gt;<span class="me1">getImageHeight</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span> <span class="re0">$real_width</span> &gt; <span class="re0">$max_length</span> || <span class="re0">$real_height</span> &gt; <span class="re0">$max_length</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$real_width</span> &gt; <span class="re0">$real_height</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$img</span>-&gt;<span class="me1">thumbnailImage</span><span class="br0">&#40;</span><span class="re0">$max_length</span>,<span class="nu0">0</span>,<span class="kw2">false</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$img</span>-&gt;<span class="me1">thumbnailImage</span><span class="br0">&#40;</span><span class="nu0">0</span>,<span class="re0">$max_length</span>,<span class="kw2">false</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$img</span>-&gt;<span class="me1">setImageFormat</span><span class="br0">&#40;</span><span class="st0">&#8216;jpeg&#8217;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$img</span>-&gt;<span class="me1">writeImage</span><span class="br0">&#40;</span><span class="re0">$dst</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$img</span>-&gt;<span class="me1">destroy</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
<span class="br0">&#125;</span><br />
<span class="kw2">?&gt;</span></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.simotrone.it/2009/07/02/img_resize/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Siti ed upload immagini</title>
		<link>http://www.simotrone.it/2009/06/28/siti-ed-upload-immagini/</link>
		<comments>http://www.simotrone.it/2009/06/28/siti-ed-upload-immagini/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 10:21:17 +0000</pubDate>
		<dc:creator>Simotrone</dc:creator>
				<category><![CDATA[Binary People]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[ImageMagick]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[upload file]]></category>

		<guid isPermaLink="false">http://www.simotrone.it/?p=1958</guid>
		<description><![CDATA[Sono ancora alla ricerca di idee su &#8220;modi decenti&#8221; per uploadare immagini su di un sito.
L&#8217;idea è prendere i file con un form di upload, analizzarli e caricarli nel sistema. Poi metterli nel db, creare l&#8217;immagine delle dimensioni giuste e il thumb, poi linkarli quando vengono richiesti.
Le immagini vengono passate nel fs grazie a tempnam(), [...]]]></description>
			<content:encoded><![CDATA[<p>Sono ancora alla ricerca di idee su &#8220;modi decenti&#8221; per uploadare immagini su di un sito.<br />
L&#8217;idea è prendere i file con un form di upload, analizzarli e caricarli nel sistema. Poi metterli nel db, creare l&#8217;immagine delle dimensioni giuste e il thumb, poi linkarli quando vengono richiesti.<br />
Le immagini vengono passate nel fs grazie a <a href="http://it.php.net/manual/en/function.tempnam.php">tempnam()</a>, trasformate con le lib php di <a href="http://it.php.net/manual/en/book.imagick.php">imagemagick</a> in formato <strong>jpeg</strong>, e servite da apache come <strong>image/jpeg</strong> forzatamente (con <strong>ForceType</strong> sulla <strong>&lt;Directory&gt;</strong>).</p>
<p>Per ora non mi vengono idee migliori. Accetto consigli, nel caso.</p>
<p>Ne approfitto per <a href="http://www.phpro.org/tutorials/Imagick.html">linkare una paginetta</a> semplice semplice di tutorial riguardo le lib php Imagick, visto che non hanno documentazione.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simotrone.it/2009/06/28/siti-ed-upload-immagini/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thumbnails</title>
		<link>http://www.simotrone.it/2009/06/20/thumbnails/</link>
		<comments>http://www.simotrone.it/2009/06/20/thumbnails/#comments</comments>
		<pubDate>Sat, 20 Jun 2009 06:59:17 +0000</pubDate>
		<dc:creator>Simotrone</dc:creator>
				<category><![CDATA[Binary People]]></category>
		<category><![CDATA[ImageMagick]]></category>
		<category><![CDATA[thumbnail]]></category>

		<guid isPermaLink="false">http://www.simotrone.it/?p=1936</guid>
		<description><![CDATA[Sempre alla ricerca di un modo rapido per fare delle thumbnail carine&#8230; a forza di leggere e scavare:
$ mogrify -path ../th -format gif -size 200x200 -auto-orient
      -thumbnail '75x75&#62;' -background transparent -gravity center
      -extent 75x75 '*.jpg'
La riga definisce il path (in funzione delle img originali, auto-orienta [...]]]></description>
			<content:encoded><![CDATA[<p>Sempre alla ricerca di un modo rapido per fare delle <em>thumbnail</em> carine&#8230; a forza di leggere e scavare:</p>
<pre>$ mogrify -path ../th -format gif -size 200x200 -auto-orient
      -thumbnail '75x75&gt;' -background transparent -gravity center
      -extent 75x75 '*.jpg'</pre>
<p>La riga definisce il path (in funzione delle img originali, auto-orienta l&#8217;immagine, ne crea un thumbnail con il lato più lungo di 75px, sbatte il risultato in un quadrato di 75&#215;75 pixel centrando l&#8217;oggetto e ci mette un background di colore trasparente. ^_^</p>
<p>Una buona lettura è stata questa qua: <a href="http://www.imagemagick.org/Usage/thumbnails/">Creating Thumbnails and Framing</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simotrone.it/2009/06/20/thumbnails/feed/</wfw:commentRss>
		<slash:comments>1</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>
	</channel>
</rss>
