<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>S.V. Design</title>
	
	<link>http://www.sv-design.org/blog</link>
	<description>News, Tutorial e Script by StefanoV</description>
	<lastBuildDate>Wed, 15 Jul 2009 23:29:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/SvDesign" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Scopri se assomigli a qualche Celebrità!</title>
		<link>http://www.sv-design.org/blog/scopri-se-assomigli-a-qualche-celebrita/</link>
		<comments>http://www.sv-design.org/blog/scopri-se-assomigli-a-qualche-celebrita/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 23:29:15 +0000</pubDate>
		<dc:creator>StefanoV</dc:creator>
				<category><![CDATA[News & Varie]]></category>
		<category><![CDATA[applicazione web]]></category>
		<category><![CDATA[celebrity]]></category>
		<category><![CDATA[collage]]></category>
		<category><![CDATA[lab]]></category>
		<category><![CDATA[my heritage]]></category>

		<guid isPermaLink="false">http://www.sv-design.org/blog/?p=343</guid>
		<description><![CDATA[Si sà che nel mondo abbiamo i sosia che vagano indisturbati per le città&#8230;
Ma che dire quando il nostro sosia è un personaggio famoso?

Ecco una semplice applicazione online che controlla se assomigliamo a qualche celebrità!
Si tratta di Celebrity Collage, e previa registrazione gratuita permette di uppare una vostra foto in primo piano, ed in automatico [...]]]></description>
			<content:encoded><![CDATA[<p>Si sà che nel mondo abbiamo i sosia che vagano indisturbati per le città&#8230;</p>
<p>Ma che dire quando il nostro sosia è un personaggio famoso?</p>
<p style="text-align: center;"><a href="http://www.draft.it/cms/images/525.jpg" rel="lightbox"><img class="aligncenter" title="Celebrita" src="http://www.draft.it/cms/images/525.jpg" alt="" width="285" height="320" /></a></p>
<p style="text-align: left;">Ecco una semplice applicazione online che controlla se assomigliamo a qualche celebrità!</p>
<p style="text-align: left;"><span id="more-343"></span>Si tratta di <a href="http://celebrita.myheritage.it/celebrity-collage" target="_blank">Celebrity Collage</a>, e previa registrazione gratuita permette di uppare una vostra foto in primo piano, ed in automatico riconoscerà la vostra faccia e la metterà in confronto con il database delle celebrità&#8230;</p>
<p style="text-align: left;">Il risultato sarà un percentuale approssimativa di somiglianza ad alcune delle celebrità più somiglianti a noi!</p>
<p style="text-align: left;">Assolutamente da provare direi! <img src='http://www.sv-design.org/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>]]></content:encoded>
			<wfw:commentRss>http://www.sv-design.org/blog/scopri-se-assomigli-a-qualche-celebrita/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Michael Jackson: The Game</title>
		<link>http://www.sv-design.org/blog/michael-jackson-the-game/</link>
		<comments>http://www.sv-design.org/blog/michael-jackson-the-game/#comments</comments>
		<pubDate>Sun, 12 Jul 2009 11:41:39 +0000</pubDate>
		<dc:creator>StefanoV</dc:creator>
				<category><![CDATA[News & Varie]]></category>
		<category><![CDATA[Michael Jackson]]></category>
		<category><![CDATA[MJJ Productions]]></category>
		<category><![CDATA[Moonwalk]]></category>
		<category><![CDATA[natale]]></category>
		<category><![CDATA[Re del Pop]]></category>

		<guid isPermaLink="false">http://www.sv-design.org/blog/?p=340</guid>
		<description><![CDATA[Proprio così, un videogioco in ricordo del Re del Pop.
La tragica scomparsa di Michael Jackson, ha incrementato le vendite di accessori creati per &#8220;ricordare&#8221; michael jackson (ricordare è tra virgolette perché ovviamente i commercianti speculano su questo aspetto purtroppo).

La notizia non è ancora ufficiale, ma una mezza conferma è stata data da un rappresentate della [...]]]></description>
			<content:encoded><![CDATA[<p>Proprio così, un videogioco in ricordo del Re del Pop.</p>
<p>La tragica scomparsa di Michael Jackson, ha incrementato le vendite di accessori creati per &#8220;ricordare&#8221; michael jackson (ricordare è tra virgolette perché ovviamente i commercianti speculano su questo aspetto purtroppo).</p>
<p style="text-align: center;"><a href="http://www.iovideogioco.com/wp-content/uploads/2009/07/mj.jpg" rel="lightbox"><img class="aligncenter" title="Michael Jackson: Il Gioco" src="http://www.iovideogioco.com/wp-content/uploads/2009/07/mj.jpg" alt="" width="480" height="360" /></a></p>
<p>La notizia non è ancora ufficiale, ma una mezza conferma è stata data da un rappresentate della <strong>MJJ Productions.</strong></p>
<p>Il lancio dovrebbe essere previsto per Natale&#8230;</p>]]></content:encoded>
			<wfw:commentRss>http://www.sv-design.org/blog/michael-jackson-the-game/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Business Card: Venneri Giacinto</title>
		<link>http://www.sv-design.org/blog/business-card-venneri-giacinto-2/</link>
		<comments>http://www.sv-design.org/blog/business-card-venneri-giacinto-2/#comments</comments>
		<pubDate>Sat, 30 May 2009 13:36:38 +0000</pubDate>
		<dc:creator>StefanoV</dc:creator>
				<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[biglietto]]></category>
		<category><![CDATA[business card]]></category>
		<category><![CDATA[giacinto]]></category>
		<category><![CDATA[imbianchino]]></category>
		<category><![CDATA[venneri]]></category>
		<category><![CDATA[visita]]></category>

		<guid isPermaLink="false">http://www.sv-design.org/blog/?p=337</guid>
		<description><![CDATA[Nuovo biglietto da visita per mio padre (Venneri Giacinto).
Professione: Imbianchino.


Dimensione: 8,5 cm x 5,5 cm
Colori: Bianco e Turchese con Brush Splatter.]]></description>
			<content:encoded><![CDATA[<p>Nuovo biglietto da visita per mio padre (Venneri Giacinto).<br />
Professione: Imbianchino.</p>
<p style="text-align: center;"><a href="http://www.sv-design.org/blog/wp-content/uploads/2009/05/bigliettopap1.jpg" rel="lightbox"><img class="size-full wp-image-338 aligncenter" title="Biglietto VG" src="http://www.sv-design.org/blog/wp-content/uploads/2009/05/bigliettopap1.jpg" alt="Biglietto VG" width="333" height="215" /></a></p>
<p style="text-align: center;">
<p style="text-align: left;">Dimensione: 8,5 cm x 5,5 cm</p>
<p style="text-align: left;">Colori: Bianco e Turchese con Brush Splatter.</p>]]></content:encoded>
			<wfw:commentRss>http://www.sv-design.org/blog/business-card-venneri-giacinto-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[PHP]: Nuova Classe Uploader</title>
		<link>http://www.sv-design.org/blog/php-nuova-classe-uploader/</link>
		<comments>http://www.sv-design.org/blog/php-nuova-classe-uploader/#comments</comments>
		<pubDate>Sat, 30 May 2009 13:18:45 +0000</pubDate>
		<dc:creator>StefanoV</dc:creator>
				<category><![CDATA[PHP & MySQL]]></category>
		<category><![CDATA[2.0]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[new]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[stefano]]></category>
		<category><![CDATA[upload]]></category>

		<guid isPermaLink="false">http://www.sv-design.org/blog/?p=334</guid>
		<description><![CDATA[Qualche tempo fa, avevo pubblicato un articolo ad una mia classe che permetteva di facilitare l&#8217;upload dei file, con pochi semplici comandi&#8230;
A distanza di tempo mi sono accorto di numerosi bug che corrompevano la corretta esecuzione dello script ( è stata la mia prima classe php   )


Esattamente oggi, l&#8217;ho riscritta e testata modificando [...]]]></description>
			<content:encoded><![CDATA[<p>Qualche tempo fa, avevo pubblicato un <a href="http://www.sv-design.org/blog/php-upload-file-semplice-e-veloce/" target="_blank">articolo ad una mia classe</a> che permetteva di facilitare l&#8217;upload dei file, con pochi semplici comandi&#8230;</p>
<p>A distanza di tempo mi sono accorto di numerosi bug che corrompevano la corretta esecuzione dello script ( è stata la mia prima classe php <img src='http://www.sv-design.org/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  )</p>
<p style="text-align: center;"><a href="http://vademecum.aruba.it/start/linux/upload/img/php_upload.jpg" rel="lightbox"><img class="aligncenter" title="Uploader PHP" src="http://vademecum.aruba.it/start/linux/upload/img/php_upload.jpg" alt="" width="122" height="105" /></a></p>
<p style="text-align: center;">
<p style="text-align: left;">Esattamente oggi, l&#8217;ho riscritta e testata modificando anche i comandi di esecuzione, in modo da facilitarne ancor di più l&#8217;esecuzione.</p>
<p style="text-align: left;"><span id="more-334"></span></p>
<p style="text-align: left;">Requisiti:</p>
<ul>
<li><acronym title="PHP: Hypertext Preprocessor">PHP</acronym> 5</li>
<li>Permessi in Scrittura sulla Cartella</li>
</ul>
<p>Iniziamo scaricando il file sorgente della libreria:</p>
<pre class="brush: php">
class Uploader {

		private $ext_ok = array();
		private $ext_no = array();
		private $ctrl_ext = false;
		private $owrite = true;
		private $max_size = 0;
		private $path_file = &#039;&#039;;
		private $campo = &#039;&#039;;
		private $errore = &#039;&#039;;

		public function Uploader($campo)
		{
			$this-&gt;campo = $campo;
		}

		public function getError()
		{
			return $this-&gt;errore;
		}

		public function set_opt($opzione, $valore)
		{
			if($opzione == &#039;controllo estensione&#039;)
			{
				$this-&gt;ctrl_ext = (bool)$valore;
			}
			elseif($opzione == &#039;estensioni consentite&#039;)
			{
				$this-&gt;ext_ok = explode(&#039;,&#039;, $valore);
			}
			elseif($opzione == &#039;estensioni non consentite&#039;)
			{
				$this-&gt;ext_no = explode(&#039;,&#039;, $valore);
			}
			elseif($opzione == &#039;massima dimensione&#039;)
			{
				$this-&gt;max_size = (int)$valore;
			}
			elseif($opzione == &#039;sovrascrittura&#039;)
			{
				$this-&gt;owrite = (bool)$valore;
			}
		}

		public function upload($destinazione)
		{
			$file = $_FILES[$this-&gt;campo][&#039;name&#039;];
			$size = $_FILES[$this-&gt;campo][&#039;size&#039;];
			$temp = $_FILES[$this-&gt;campo][&#039;tmp_name&#039;];

			if($this-&gt;max_size != 0 &amp;&amp; ($size &gt; $this-&gt;max_size))
			{
				$this-&gt;errore = ERR_TOO_BIG;
				return false;
			}
			else
			{
				$err = 0;

				if($this-&gt;ctrl_ext)
				{
						// non consentite
						if(count($this-&gt;ext_no) != 0)
						{
							foreach($this-&gt;ext_no as $no)
							{
								if(trim($no) == $this-&gt;getExt($file))
								{
									$err = 1;
								}
							}
						}

					if($err == 0)
					{
						$ctrl = 0;

						if(count($this-&gt;ext_ok) != 0)
						{
							foreach($this-&gt;ext_ok as $ok)
							{
								if(trim($ok) == $this-&gt;getExt($file))
								{
									$ctrl = 1;
								}
							}
						}
						else
						{
							$ctrl = 1;
						}

						if($ctrl == 0)
						{
							$err = 1;
						}
					}
				}

				if($err == 0)
				{
					if($this-&gt;owrite)
					{
						$this-&gt;path_file = $file;
					}
					else
					{
						if(file_exists($destinazione.$file))
						{
							$cas = md5(rand(0,9999999999));

							$nome = $this-&gt;dividi($file);

							$iniziali = substr($nome, 0, 3);

							$estensione = $this-&gt;getExt($file);

							$this-&gt;path_file = $iniziali.$cas.&#039;.&#039;.$estensione;
						}
						else
						{
							$this-&gt;path_file = $file;
						}
					}

					if(is_uploaded_file($temp))
					{
						if(move_uploaded_file($temp, $destinazione.$this-&gt;path_file))
						{
							return true;
						}
						else
						{
							$this-&gt;errore = ERR_UPLOAD;
							return false;
						}
					}
					else
					{
						$this-&gt;errore = ERR_UPLOAD;
						return false;
					}
				}
				else
				{
					$this-&gt;errore = ERR_WRONG_EXT;
					return false;
				}
			}
		}

		private function getExt($path)
		{
			$file_split = explode(&quot;.&quot;, $path);

			$estensione = array_pop($file_split);

			return $estensione;
		}

		private function dividi($nome)
		{
		   $file_split = explode(&quot;.&quot;, $nome);

			$estensione = array_pop($file_split);

			$len_ext = strlen($estensione);

			$nomef = substr($nome, 0, (strlen($nome) - ($len_ext + 1)));

			return $nomef;
		}

		public function getName()
		{
			return $this-&gt;path_file;
		}

	}
</pre>
<p>Ed ora veniamo all&#8217;utilizzo della classe stessa:</p>
<p>Definiamo il testo degli errori con la sintassi:</p>
<p><span style="color: #99ccff;"><strong>define(&#8217;ERR_TOO_BIG&#8217;, &#8216;Il File è troppo Grande!&#8217;);<br />
define(&#8217;ERR_WRONG_EXT&#8217;, &#8216;Estensione non Consentita!&#8217;);<br />
define(&#8217;ERR_UPLOAD&#8217;, &#8216;Errore nell\&#8217;Upload del File&#8217;);</strong></span></p>
<p>Ora includiamo la libreria con:</p>
<p><span style="color: #99ccff;"><strong>include(&#8221;libs/upload.inc.php&#8221;);</strong></span></p>
<p>Istanziamo la classe con la variabile $up passando come riferimento della funzione il nome del campo di tipo file che ha inviato il dato:</p>
<p><span style="color: #99ccff;"><strong>$up = new Uploader(&#8217;userfile&#8217;);</strong></span></p>
<p>Ora veniamo alle opzioni, si usa la funzione <strong>set_opt(parametro, valore)</strong> come in questo esempio:</p>
<p><span style="color: #99ccff;">$up-&gt;set_opt(&#8217;controllo estensione&#8217;, true);</span> <span style="color: #ffcc99;">// impone di controllare l&#8217;estensione, quindi richiede l&#8217;opzione delle estensioni non consentite OPPURE quella delle opzioni consentite.</span></p>
<p><span style="color: #99ccff;">$up-&gt;set_opt(&#8217;estensioni non consentite&#8217;, &#8216;txt, png&#8217;);</span> <span style="color: #ffcc99;">// indica quali estesioni non sono consentite (separate con una virgola) </span></p>
<p><span style="color: #ffcc00;">// $up-&gt;set_opt(&#8217;estensioni consentite&#8217;, &#8216;jpg, bmp&#8217;);</span> <span style="color: #ffcc99;"> // indica quali estesioni  sono consentite (separate con una virgola) </span></p>
<p><span style="color: #99ccff;">$up-&gt;set_opt(&#8217;sovrascrittura&#8217;, false); <span style="color: #ffcc99;">// indica che il file verrà rinominato invece di essere sovrascritto in caso esistesse gia</span><br />
</span></p>
<p>Dopo aver impostato lo script, lanciate il comando di upload e come parametro impostate il percorso dove andrà salvato il file:</p>
<p><span style="color: #99ccff;">if(!$up-&gt;upload(&#8217;files/&#8217;))<br />
{<br />
die($up-&gt;getError());<br />
}</span></p>
<p>La funzione ritorna un risultato booleano con il quale potrete richiamare la funzione <strong>getError()</strong> in caso di errore nell&#8217;upload, oppure <strong>getName()</strong> che ritorna il nome del file uppato in caso di riuscita.</p>
<p>Qui in allegato tutti i file pronti da scaricare: <a href="http://www.sv-design.org/blog/wp-content/uploads/2009/05/classe-upload.zip">Classe Upload</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.sv-design.org/blog/php-nuova-classe-uploader/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Vinci il nuovo iPod Shuffle 4Gb e 3 T-shirts Zuzù Factory</title>
		<link>http://www.sv-design.org/blog/vinci-il-nuovo-ipod-shuffle-4gb-e-3-t-shirts-zuzu-factory/</link>
		<comments>http://www.sv-design.org/blog/vinci-il-nuovo-ipod-shuffle-4gb-e-3-t-shirts-zuzu-factory/#comments</comments>
		<pubDate>Wed, 27 May 2009 15:58:58 +0000</pubDate>
		<dc:creator>StefanoV</dc:creator>
				<category><![CDATA[News & Varie]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[concorso mania]]></category>
		<category><![CDATA[contest]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[t-shirt]]></category>
		<category><![CDATA[zuzù factory]]></category>

		<guid isPermaLink="false">http://www.sv-design.org/blog/?p=332</guid>
		<description><![CDATA[Oggi vi presento un nuovo Contest Blog indetto da &#8220;Concorsi on line su Concorsomania
&#8221; e &#8220;Zuzù Factory magliette&#8220;!!

Ecco le regole per partecipare&#8230;


Potranno partecipare al contest tutti i blog che abbiano  a partire dalla data di creazione di questo post almeno 25 articoli, un mese di vita e che risultino essere indicizzati.
er partecipare dovrete scrivere un [...]]]></description>
			<content:encoded><![CDATA[<p>Oggi vi presento un nuovo Contest Blog indetto da &#8220;<a title="Concorsi on line su Concorsomania" href="http://www.concorsomania.com">Concorsi on line su Concorsomania</a><br />
&#8221; e &#8220;<a title="Zuzù Factory magliette" href="http://www.zuzu.it">Zuzù Factory magliette</a>&#8220;!!</p>
<p><a href="http://www.concorsomania.com/wp-content/uploads/2009/05/contest-concorsomania.jpg" rel="lightbox"><img class="aligncenter" title="Contest Blog di Concorso Mania e Zuzù Factory" src="http://www.concorsomania.com/wp-content/uploads/2009/05/contest-concorsomania.jpg" alt="" width="600" height="200" /></a></p>
<p>Ecco le regole per partecipare&#8230;</p>
<p><span id="more-332"></span></p>
<ol>
<li>Potranno partecipare al contest tutti i blog che abbiano  a partire dalla data di creazione di questo post almeno 25 articoli, un mese di vita e che risultino essere indicizzati.</li>
<li>er partecipare dovrete scrivere un articolo in cui venga descritto il contest, le modalità di partecipazione ed i premi in palio.</li>
<li>Linkare Concorsomania e Zuzù Factory con i codici seguenti: <a href="http://www.concorsomania.com/Codici-html.txt" target="_blank">CODICI</a></li>
<li><strong>Infine dovrà essere presente un link alla <a href="http://www.concorsomania.com/contest-blog/vinci-ipod-shuffle-4gb-e-le-magliette-zuzu-factory/" target="_blank">pagina del contest</a></strong>. Fatto ciò , segnalate il link del vostro articolo nei commenti, <strong>indicando un numero da 1 a 90</strong>.</li>
</ol>
<p>Potete verificare i numeri disponibili da qui: <a href="http://spreadsheets.google.com/pub?key=r2YekYFZagsaqH9PxzbvHQA" target="_blank">http://spreadsheets.google.com/pub?key=r2YekYFZagsaqH9PxzbvHQA</a></p>
<p>I premi:</p>
<p style="text-align: justify;">1° Estratto : iPod Shuffle 4Gb con funzionalità VoiceOver. Il colore ed l’incisione saranno scelti dal vincitore.</p>
<p style="text-align: justify;">2° Estratto : 2° T-shirts a scelta fra quelle presenti nello shop di Zuzù Factory</p>
<p style="text-align: justify;">3° Estratto : 1° T-shirt   a scelta fra quelle presenti nello shop di Zuzù Factory</p>
<p>Mi raccomando, partecipate in tanti&#8230; in contest scade all&#8217;occupazione di tutti i numeri, e l&#8217;estrazione avverrà con i numeri del Lotto! <img src='http://www.sv-design.org/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>]]></content:encoded>
			<wfw:commentRss>http://www.sv-design.org/blog/vinci-il-nuovo-ipod-shuffle-4gb-e-3-t-shirts-zuzu-factory/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Msn Trick]: Come scoprire se un vostro contatto è invisibile!</title>
		<link>http://www.sv-design.org/blog/msn-trick-come-scoprire-se-un-vostro-contatto-e-invisibile/</link>
		<comments>http://www.sv-design.org/blog/msn-trick-come-scoprire-se-un-vostro-contatto-e-invisibile/#comments</comments>
		<pubDate>Sat, 23 May 2009 13:05:50 +0000</pubDate>
		<dc:creator>StefanoV</dc:creator>
				<category><![CDATA[News & Varie]]></category>
		<category><![CDATA[account]]></category>
		<category><![CDATA[bloccati]]></category>
		<category><![CDATA[contatti]]></category>
		<category><![CDATA[invisibile]]></category>
		<category><![CDATA[msn]]></category>
		<category><![CDATA[trick]]></category>

		<guid isPermaLink="false">http://www.sv-design.org/blog/?p=331</guid>
		<description><![CDATA[Ora mi voglio rivolgere a tutti quelli un pò rompiscatole che costringono gli amici a rendersi invisibili su msn, ma anche agli ignari utenti che magari vengono presi in giro:
Ecco come ti scopro l&#8217;invisibile!  

Ecco quello che dovete fare&#8230;.

1. Effettuate l&#8217;accesso al vostro Account di MSN Messenger.
2. Selezionate il contatto da monitorare ed invitatelo [...]]]></description>
			<content:encoded><![CDATA[<p>Ora mi voglio rivolgere a tutti quelli un pò rompiscatole che costringono gli amici a rendersi invisibili su msn, ma anche agli ignari utenti che magari vengono presi in giro:</p>
<p>Ecco come ti scopro l&#8217;invisibile! <img src='http://www.sv-design.org/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p style="text-align: center"><img class="aligncenter" src="http://img12.imageshack.us/img12/9233/msnheadshotbyelpix.jpg" alt="" width="400" height="400" /></p>
<p style="text-align: left;">Ecco quello che dovete fare&#8230;.</p>
<p style="text-align: left;"><span id="more-331"></span></p>
<p style="text-align: left;">1. Effettuate l&#8217;accesso al vostro Account di <acronym title="Microsoft Network">MSN</acronym> Messenger.</p>
<p style="text-align: left;">2. Selezionate il contatto da monitorare ed invitatelo a condividere una cartella con voi (Cartella Condivisa)</p>
<p style="text-align: left;">3. Se non ricevete nulla, il vostro amico non è online, Se invece è invisibile, ogni volta che entrerà in questo stato sarete avvisati dal messaggio di apertura della cartella condivisa&#8230;</p>
<p style="text-align: left;">
<p style="text-align: left;">Non ho ancora provato, ma se quando l&#8217;utente è connesso la cartella condivisa viene aperta indipendentemente dallo stato dell&#8217;utente, forse anche quando qualcuno ci ha bloccato possiamo vederlo con questo sistema&#8230; non ci resta che provare&#8230;</p>
<p style="text-align: left;">Se volete, commentate le vostre prove nei commenti&#8230; <img src='http://www.sv-design.org/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p style="text-align: right;">Fonte | <a href="http://www.technorati.it/scoprire-se-un-vostro-contatto-e-invisibile/" target="_blank">Tecnorati</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.sv-design.org/blog/msn-trick-come-scoprire-se-un-vostro-contatto-e-invisibile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Il Contagocce reale RGB</title>
		<link>http://www.sv-design.org/blog/il-contagocce-reale-rgb/</link>
		<comments>http://www.sv-design.org/blog/il-contagocce-reale-rgb/#comments</comments>
		<pubDate>Sat, 23 May 2009 12:55:21 +0000</pubDate>
		<dc:creator>StefanoV</dc:creator>
				<category><![CDATA[News & Varie]]></category>
		<category><![CDATA[color]]></category>
		<category><![CDATA[ink]]></category>
		<category><![CDATA[pen]]></category>
		<category><![CDATA[picker]]></category>
		<category><![CDATA[print]]></category>
		<category><![CDATA[rgb]]></category>
		<category><![CDATA[scanner]]></category>

		<guid isPermaLink="false">http://www.sv-design.org/blog/?p=330</guid>
		<description><![CDATA[Quante volte avete cercato di riprodurre un colore reale nei vostri disegni su Photoshop?
Un&#8217;intera giornata a lavorare con le tonalità e saturazioni magari&#8230;.
Oggi vi presento Color Picker, gia il nome dice tutto:

Color Picker è una penna dotata di uno scanner sulla punta in grado di individuare il colore RGB dell&#8217;oggetto semplicemente appoggiandola su di esso.
La [...]]]></description>
			<content:encoded><![CDATA[<p>Quante volte avete cercato di riprodurre un colore reale nei vostri disegni su Photoshop?</p>
<p>Un&#8217;intera giornata a lavorare con le tonalità e saturazioni magari&#8230;.</p>
<p>Oggi vi presento Color Picker, gia il nome dice tutto:</p>
<p style="text-align: center;"><img class="aligncenter" src="http://www.technorati.it/images/colorpicker-pen.jpg" alt="" width="455" height="290" /></p>
<p style="text-align: left;">Color Picker è una penna dotata di uno scanner sulla punta in grado di individuare il colore RGB dell&#8217;oggetto semplicemente appoggiandola su di esso.</p>
<p style="text-align: left;">La penna è dotata di tre cartucce RGB, le quali miscelandosi, ricreeranno la tonalità esatta del colore scansionato.</p>
<p style="text-align: left;">
<p style="text-align: right;">Fonte | <a href="http://www.technorati.it/color-picker-il-contagocce-reale/" target="_blank">Tecnorati.it</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.sv-design.org/blog/il-contagocce-reale-rgb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Presto disponibile Wordpress 2.8!</title>
		<link>http://www.sv-design.org/blog/presto-disponibile-wordpress-28/</link>
		<comments>http://www.sv-design.org/blog/presto-disponibile-wordpress-28/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 20:32:14 +0000</pubDate>
		<dc:creator>StefanoV</dc:creator>
				<category><![CDATA[News & Varie]]></category>
		<category><![CDATA[codex]]></category>
		<category><![CDATA[features]]></category>
		<category><![CDATA[filtro]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.sv-design.org/blog/?p=329</guid>
		<description><![CDATA[In anzitutto mi scuso per l&#8217;assenza, ma in questo periodo sono molto incasinato&#8230;
Detto questo, torniamo sull&#8217;argomento Wordpress&#8230;

Ma come? E&#8217; da poco uscita la 2.7.1 e già è prevista la 2.8 proprio in questo mese?  
Ma sveliamo un pò cosa ci riserva questa nuova versione&#8230;

Alcune delle nuove caratteristiche:

Migliorate le prestazioni del caricamento degli script.
Installazione dei [...]]]></description>
			<content:encoded><![CDATA[<p>In anzitutto mi scuso per l&#8217;assenza, ma in questo periodo sono molto incasinato&#8230;</p>
<p>Detto questo, torniamo sull&#8217;argomento Wordpress&#8230;</p>
<p style="text-align: center;"><img class="aligncenter" src="http://img216.imageshack.us/img216/4558/wordpress.jpg" alt="" width="182" height="182" /></p>
<p>Ma come? E&#8217; da poco uscita la 2.7.1 e già è prevista la 2.8 proprio in questo mese? <img src='http://www.sv-design.org/blog/wp-includes/images/smilies/icon_neutral.gif' alt=':|' class='wp-smiley' /> </p>
<p>Ma sveliamo un pò cosa ci riserva questa nuova versione&#8230;</p>
<p><span id="more-329"></span></p>
<p><strong>Alcune delle nuove caratteristiche:</strong></p>
<ul>
<li>Migliorate le <strong>prestazioni</strong> del caricamento <strong>degli script</strong>.</li>
<li>Installazione dei <strong>temi direttamente dal pannello d’amministrazione</strong> senza toccare l&#8217;ftp.</li>
<li>Filtro contro gli XSS</li>
<li>Nuove icone nel pannello di amministrazione</li>
<li>Installazione plugin dal pannello di controllo.</li>
<li>Performance migliorate</li>
<li>Creazione Sitemap senza bisogno di plugin</li>
<li>Possibilità di bloccare le richieste http in uscita.</li>
</ul>
<p>E molte altre ancora che potete leggere direttamente sul sito: <a href="http://codex.wordpress.org/Version_2.8" target="_blank">http://codex.wordpress.org/Version_2.8</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.sv-design.org/blog/presto-disponibile-wordpress-28/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>ASUS G71Gx: Il portatile per i videogiocatori incalliti!!</title>
		<link>http://www.sv-design.org/blog/asus-g71gx-il-portatile-per-i-videogiocatori-incalliti/</link>
		<comments>http://www.sv-design.org/blog/asus-g71gx-il-portatile-per-i-videogiocatori-incalliti/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 23:09:13 +0000</pubDate>
		<dc:creator>StefanoV</dc:creator>
				<category><![CDATA[News & Varie]]></category>
		<category><![CDATA[asus]]></category>
		<category><![CDATA[full HD]]></category>
		<category><![CDATA[gaming]]></category>
		<category><![CDATA[GTX260M]]></category>
		<category><![CDATA[notebook]]></category>
		<category><![CDATA[terabyte]]></category>
		<category><![CDATA[WUXGA]]></category>

		<guid isPermaLink="false">http://www.sv-design.org/blog/?p=328</guid>
		<description><![CDATA[Si chiama così, il nuovo notebook presentato da Asus al CeBIT 2009, dedicato appositamente per il gaming!!

Il Display è da 17&#8243; on Full HD e risoluzione WUXGA, abbinato ad una scheda video GeForce GTX260M con 1GB di memoria GDDR3, 3 slot per la RAM espandibile fino a 12GB e 2 dischi fissi da 500GB l&#8217;uno.
In [...]]]></description>
			<content:encoded><![CDATA[<p>Si chiama così, il nuovo notebook presentato da Asus al CeBIT 2009, dedicato appositamente per il gaming!!</p>
<p style="text-align: center;"><a href="http://planetimagehost.com/images/65948_asus_g71_gaming_laptop.jpg" rel="lightbox"><img class="aligncenter" src="http://planetimagehost.com/images/65948_asus_g71_gaming_laptop.jpg" alt="" width="434" height="356" /></a></p>
<p style="text-align: left;">Il Display è da 17&#8243; on Full HD e risoluzione WUXGA, abbinato ad una scheda video GeForce GTX260M con 1GB di memoria GDDR3, 3 slot per la RAM espandibile fino a 12GB e 2 dischi fissi da 500GB l&#8217;uno.</p>
<p style="text-align: left;">In più troviamo il lettore Blu-Ray abbinato agli speaker Altec Lansing&#8230;</p>
<p style="text-align: left;">
<p style="text-align: left;">E&#8217; ancora presto per parlare di prezzi e disponibilità, ma indipendentemente dal suo costo, sicuramente varrà fino all&#8217;ultimo centesimo!!!</p>]]></content:encoded>
			<wfw:commentRss>http://www.sv-design.org/blog/asus-g71gx-il-portatile-per-i-videogiocatori-incalliti/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[PHP]: ThumbAndCrop (Resize &amp; Crop Immagini con PHP)</title>
		<link>http://www.sv-design.org/blog/php-thumbandcrop-resize-crop-immagini-con-php/</link>
		<comments>http://www.sv-design.org/blog/php-thumbandcrop-resize-crop-immagini-con-php/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 13:15:56 +0000</pubDate>
		<dc:creator>StefanoV</dc:creator>
				<category><![CDATA[PHP & MySQL]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[coordinate]]></category>
		<category><![CDATA[crop]]></category>
		<category><![CDATA[gd library]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[manipulator]]></category>
		<category><![CDATA[miniatura]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[thumb]]></category>
		<category><![CDATA[thumbnails]]></category>

		<guid isPermaLink="false">http://www.sv-design.org/blog/?p=326</guid>
		<description><![CDATA[Ecco a voi una nuova classe presa dalla mia dispensa, anzi dal mio cervello visto che l&#8217;ho scritta ieri notte!  
Quante volte ci è capitato di dover effettuare una miniatura di un immagine via php, molte volte ci si dimentica le funzioni e i loro parametri, poi bisogna usare la funzione adatta al tipo [...]]]></description>
			<content:encoded><![CDATA[<p>Ecco a voi una nuova classe presa dalla mia dispensa, anzi dal mio cervello visto che l&#8217;ho scritta ieri notte! <img src='http://www.sv-design.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Quante volte ci è capitato di dover effettuare una miniatura di un immagine via php, molte volte ci si dimentica le funzioni e i loro parametri, poi bisogna usare la funzione adatta al tipo di immagine da manipolare, ecc&#8230; ecc&#8230;</p>
<p style="text-align: center;"><a href="http://www.openfisica.com/lezioni_php/immagini_php/ilovephp.gif" rel="lightbox"><img class="aligncenter" src="http://www.openfisica.com/lezioni_php/immagini_php/ilovephp.gif" alt="" width="436" height="317" /></a></p>
<p>Oggi vi presento questa nuova classe php che ho nominato: <span style="text-decoration: underline;"><strong>Thumb And Crop</strong></span> ovvero rimpicciolisci e ritaglia.</p>
<p>Grazie a questa classe potremo:</p>
<p><span style="color: #ff00ff;">-</span> Ottenere le dimensioni di un immagine</p>
<p><span style="color: #ff00ff;">-</span> Ottenere le dimensioni di un immagine mantenendo le proporzioni</p>
<p><span style="color: #ff00ff;">-</span> Creare una miniatura di un immagine</p>
<p><span style="color: #ff00ff;">-</span> Ritagliare un pezzo di un immagine</p>
<p><span style="color: #ff00ff;">-</span> Combinare la funzione Crop alla Thumb per avere una foto ritagliata e rimpicciolita</p>
<p><span style="color: #ff00ff;">-</span> Manipolare un immagine Jpeg, Gif, Png, Bmp senza cambiare il codice in base al tipo di immagine.</p>
<p>Veniamo ora al codice della classe:</p>
<p><span id="more-326"></span></p>
<pre class="brush: php">
&lt; ?php
	class ThumbAndCrop
	{

		private $handleimg;
		private $original = &quot;&quot;;
		private $handlethumb;
		private $oldoriginal;

		/*
			Apre l&#039;immagine da manipolare
		*/
		public function openImg($file)
		{
			$this-&gt;original = $file;

			if($this-&gt;extension($file) == &#039;jpg&#039; || $this-&gt;extension($file) == &#039;jpeg&#039;)
			{
				$this-&gt;handleimg = imagecreatefromjpeg($file);
			}
			elseif($this-&gt;extension($file) == &#039;png&#039;)
			{
				$this-&gt;handleimg = imagecreatefrompng($file);
			}
			elseif($this-&gt;extension($file) == &#039;gif&#039;)
			{
				$this-&gt;handleimg = imagecreatefromgif($file);
			}
			elseif($this-&gt;extension($file) == &#039;bmp&#039;)
			{
				$this-&gt;handleimg = imagecreatefromwbmp($file);
			}
		}

		/*
			Ottiene la larghezza dell&#039;immagine
		*/
		public function getWidth()
		{
			return imageSX($this-&gt;handleimg);
		}

		/*
			Ottiene la larghezza proporzionata all&#039;immagine partendo da un&#039;altezza
		*/
		public function getRightWidth($newheight)
		{
			$oldw = $this-&gt;getWidth();
			$oldh = $this-&gt;getHeight();

			$neww = ($oldw * $newheight) / $oldh;

			return $neww;
		}

		/*
			Ottiene l&#039;altezza dell&#039;immagine
		*/
		public function getHeight()
		{
			return imageSY($this-&gt;handleimg);
		}

		/*
			Ottiene l&#039;altezza proporzionata all&#039;immagine partendo da una larghezza
		*/
		public function getRightHeight($newwidth)
		{
			$oldw = $this-&gt;getWidth();
			$oldh = $this-&gt;getHeight();

			$newh = ($oldh * $newwidth) / $oldw;

			return $newh;
		}

		/*
			Crea una miniatura dell&#039;immagine
		*/
		public function creaThumb($newWidth, $newHeight)
		{
			$oldw = $this-&gt;getWidth();
			$oldh = $this-&gt;getHeight();

			$this-&gt;handlethumb = imagecreatetruecolor($newWidth, $newHeight);

			return imagecopyresampled($this-&gt;handlethumb, $this-&gt;handleimg, 0, 0, 0, 0, $newWidth, $newHeight, $oldw, $oldh);
		}

		/*
			Ritaglia un pezzo dell&#039;immagine
		*/
		public function cropThumb($width, $height, $x, $y)
		{
			$oldw = $this-&gt;getWidth();
			$oldh = $this-&gt;getHeight();

			$this-&gt;handlethumb = imagecreatetruecolor($width, $height);

			return imagecopy($this-&gt;handlethumb, $this-&gt;handleimg, 0, 0, $x, $y, $width, $height);
		}

		/*
			Salva su file la Thumbnail
		*/
		public function saveThumb($path, $qualityJpg = 100)
		{
			if($this-&gt;extension($this-&gt;original) == &#039;jpg&#039; || $this-&gt;extension($this-&gt;original) == &#039;jpeg&#039;)
			{
				return imagejpeg($this-&gt;handlethumb, $path, $qualityJpg);
			}
			elseif($this-&gt;extension($this-&gt;original) == &#039;png&#039;)
			{
				return imagepng($this-&gt;handlethumb, $path);
			}
			elseif($this-&gt;extension($this-&gt;original) == &#039;gif&#039;)
			{
				return imagegif($this-&gt;handlethumb, $path);
			}
			elseif($this-&gt;extension($this-&gt;original) == &#039;bmp&#039;)
			{
				return imagewbmp($this-&gt;handlethumb, $path);
			}
		}

		/*
			Stampa a video la Thumbnail
		*/
		public function printThumb()
		{
			if($this-&gt;extension($this-&gt;original) == &#039;jpg&#039; || $this-&gt;xtension($this-&gt;original) == &#039;jpeg&#039;)
			{
				header(&quot;Content-Type: image/jpeg&quot;);
				imagejpeg($this-&gt;handlethumb);
			}
			elseif($this-&gt;extension($this-&gt;original) == &#039;png&#039;)
			{
				header(&quot;Content-Type: image/png&quot;);
				imagepng($this-&gt;handlethumb);
			}
			elseif($this-&gt;extension($this-&gt;original) == &#039;gif&#039;)
			{
				header(&quot;Content-Type: image/gif&quot;);
				imagegif($this-&gt;handlethumb);
			}
			elseif($this-&gt;extension($this-&gt;original) == &#039;bmp&#039;)
			{
				header(&quot;Content-Type: image/bmp&quot;);
				imagewbmp($this-&gt;handlethumb);
			}
		}

		/*
			Distrugge le immagine per liberare le risorse
		*/
		public function closeImg()
		{
			imagedestroy($this-&gt;handleimg);
			imagedestroy($this-&gt;handlethumb);
		}

		/*
			Imposta la thumbnail come immagine sorgente,
			in questo modo potremo combinare la funzione crea con la funzione crop
		*/
		public function setThumbAsOriginal()
		{
			$this-&gt;oldoriginal = $this-&gt;handleimg;
			$this-&gt;handleimg = $this-&gt;handlethumb;
		}

		/*
			Resetta l&#039;immagine originale
		*/
		public function resetOriginal()
		{
			$this-&gt;handleimg = $this-&gt;oldoriginal;
		}

		/*
			Estrae l&#039;estensione da un file o un percorso
		*/
		private function extension($percorso)
		{
			if(eregi(&quot;[\|\\]&quot;, $percorso))
			{
				// da percorso
				$nome = $this-&gt;nomefile($percorso);

				$spezzo = explode(&quot;.&quot;, $nome);

				return strtolower(trim(array_pop($spezzo)));
			}
			else
			{
				//da file
				$spezzo = explode(&quot;.&quot;, $percorso);

				return strtolower(trim(array_pop($spezzo)));
			}
		}

		/*
			Estrae il nome del file da un percorso
		*/
		private function nomefile($path, $ext = true)
		{
			$diviso = spliti(&quot;[/|\\]&quot;, $path);

			if($ext)
			{
				return trim(array_pop($diviso));
			}
			else
			{
				$nome = explode(&quot;.&quot;, trim(array_pop($diviso)));

				array_pop($nome);

				return trim(implode(&quot;.&quot;, $nome));
			}
		}
	}
?&gt;
</pre>
<p>Salviamo il file come <em><strong>thumbncrop.inc.php</strong></em> ed apriamo il file di esempio per provare la classe e scriviamo il seguente codice:</p>
<pre class="brush: php">
	// includo la classe
	require_once(&quot;libs/thumbncrop.inc.php&quot;);

	// valorizzo la variabile
	$tb = new ThumbAndCrop();
</pre>
<p>Come si può vedere abbiamo solamente incluso la classe, e valorizzato la variabile <strong>$tb</strong>.</p>
<h3><span style="color: #cc99ff;"><span style="text-decoration: underline;">Spiegazione delle funzioni:</span></span></h3>
<p>In anzitutto la prima funzione da utilizzare obbligatoriamente è <em>&#8220;openImg&#8221;</em> passando come parametro il nome del file da aprire.</p>
<p><span style="color: #99ccff;"><strong>$tb-&gt;openImg(&#8221;ghi.jpg&#8221;);</strong></span></p>
<p>Dopo-di-ché abbiamo le funzioni per ottenere le dimensioni dell&#8217; immagine aperta:</p>
<p><span style="color: #99ccff;"><strong>$tb-&gt;getHeight();</strong></span></p>
<p><span style="color: #99ccff;"><strong>$tb-&gt;getWidth();</strong></span></p>
<p>Invece se dobbiamo ridimensionare l&#8217;immagine mantenendo le proporzioni basterà usare una di queste 2 funzioni, passando come parametro la larghezza/altezza di riferimento&#8230; <span style="color: #ff99cc;">esempio</span>: dopo aver aperto l&#8217;immagine, se vogliamo ridimensionarla in larghezza a 100 pixels mantenendo l&#8217;altezza proporzionata, basterà usare la funzione <em>&#8220;getRightHeight&#8221;</em> passando come parametro, la larghezza indicativa ovvero 100.</p>
<p><span style="color: #99ccff;"><strong>$newHeight = $tb-&gt;getRightHeight(100);</strong></span></p>
<p><span style="color: #99ccff;"><strong>$newWidth = $tb-&gt;getRightWidth(75);</strong></span></p>
<p>Dopo aver calcolato le dimensioni passiamo ora a creare la miniatura con la funzione &#8220;creaThumb&#8221; e passando come parametro la larghezza e l&#8217;altezza da ottenere.</p>
<p><strong><span style="color: #99ccff;">$tb-&gt;creaThumb(100, $newHeight);</span></strong></p>
<p>Ora possiamo scegliere se printare a video l&#8217;immagine con la funzione <em>&#8220;printThumb&#8221;</em> (l&#8217;header verrà inviato in automatico non bisogna inserirlo a mano), oppure salvare l&#8217;immagine su disco con la funzione <em>&#8220;saveThumb&#8221;</em> passando come parametro il nome del file da creare, e nel caso sia un jpg anche la qualità dell&#8217;immagine finale (default: 100).</p>
<p><span style="color: #99ccff;"><strong>$tb-&gt;printThumb();</strong></span></p>
<p><span style="color: #99ccff;"><strong>$tb-&gt;saveThumb(&#8221;cropthumb.jpg&#8221;);</strong></span></p>
<p>Dopo-di-ché non ci resta che chiudere l&#8217;immagine aperta, per liberare le risorse con <em>&#8220;closeImg&#8221;</em>.</p>
<p><span style="color: #99ccff;"><strong>$tb-&gt;closeImg();</strong></span></p>
<p>Oltre alla miniatura possiamo creare una piccola immagine contenente un ritaglio dell&#8217;immagine sorgente, basterà usare la funzione <em>&#8220;cropThumb&#8221;</em> prima di <em>&#8220;closeImg&#8221;</em>, infatti anche dopo aver usato l&#8217;immagine originale per creare una miniatura o ritagliare un pezzo dell&#8217;immagine, utilizzando di nuovo le funzioni senza chiudere l&#8217;immagine, potremo lavorare ancora sull&#8217;immagine originale&#8230;</p>
<p>Quindi potremo creare N miniature per volta usando semplicemente la funzione &#8220;creaThumb&#8221; e la stessa cosa vale anche per <em>&#8220;cropThumb&#8221;</em>.</p>
<p>La funzione <em>&#8220;cropThumb&#8221;</em> richiede 4 parametri, e sono larghezza finale, altezza finale, coordinata X dell&#8217;immagine originale dal quale iniziare a copiare l&#8217;immagine, coordinata Y dell&#8217;immagine originale dal quale iniziare a copiare l&#8217;immagine.</p>
<p>E se volessimo combinare le funzione rimpicciolisci e ritaglia? Ad esempio partendo da un&#8217;immagine 400&#215;300, creare una miniatura 100&#215;50 partendo a 20px dall&#8217;alto. Vediamo il codice in riferimento a quello precedentemente scritto:</p>
<pre class="brush: php">
	// creo la miniatura con le dimensioni da me volute
	$tb-&gt;creaThumb(100, $newHeight);

	// abilito il ThumbAndCrop
	$tb-&gt;setThumbAsOriginal();

	// taglio l&#039;img a dimensione 100x50 artendo dalla thumb x:0, y:20
	$tb-&gt;cropThumb(100, 50, 0, 20);
</pre>
<p>Come possiamo vedere creiamo prima la miniatura da 400&#215;300 (immagine originale) a 100&#215;75 (miniatura proporzionata), dopo-di-ché usando la funzione <em>&#8220;setThumbAsOriginal&#8221;</em> setto la miniatura come immagine originale, quindi a partire da questo momento, ogni operazione fatta con le funzioni verrà effettuata sulla miniatura e non più sull&#8217;immagine originale! (per ripristinare l&#8217;immagine originale basterà utilizzare la funzione <em>&#8220;resetOriginal&#8221;</em>. Ed ora ritaglio un&#8217;immagine di 100&#215;50 partendo dalle coordinate della miniature X:0 ed Y:20.</p>
<p>Spero che la classe vi possa essere utile, lasciate qualche commento se apprezzate! <img src='http://www.sv-design.org/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
<br />
Scarica i file di esempio: <a href='http://www.sv-design.org/blog/wp-content/uploads/2009/02/thumbandcrop.zip'>ThumbAndCrop</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.sv-design.org/blog/php-thumbandcrop-resize-crop-immagini-con-php/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
