<?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>/home/antu &#187; Skripte und Klassen</title>
	<atom:link href="http://www.antusblog.de/category/programmierung/skripte-und-klassen/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.antusblog.de</link>
	<description>Linux, Programmierung und andere Dinge die mich interessieren</description>
	<lastBuildDate>Mon, 26 Oct 2009 06:00:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Vorschaubild-Klasse</title>
		<link>http://www.antusblog.de/2008/11/29/php-vorschaubild-klasse/</link>
		<comments>http://www.antusblog.de/2008/11/29/php-vorschaubild-klasse/#comments</comments>
		<pubDate>Sat, 29 Nov 2008 11:41:24 +0000</pubDate>
		<dc:creator>Antu</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Skripte und Klassen]]></category>
		<category><![CDATA[Klasse]]></category>
		<category><![CDATA[Vorschaubilder]]></category>

		<guid isPermaLink="false">http://antusblog.de/?p=116</guid>
		<description><![CDATA[Ich habe ja bereits eine Anleitung zum Erstellen von Vorschaubildern in PHP geschrieben, ich selbst verwende dazu eine selbst geschriebene Klasse. Was die Klasse kann Vorschaubilder von beliebiger Größe erstellen Das Seitenverhältnis der Vorschaubilder anpassen wenn erforderlich und gewünscht Einen Rahmen um das Vorschaubild zeichnen. Ein kleines Kästchen mit Informationen wie z.B. Dateigröße, Dateityp, o.Ä. [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe ja bereits eine <a href="index.php?p=24" target="_blank">Anleitung</a> zum Erstellen von Vorschaubildern in PHP geschrieben, ich selbst verwende dazu eine selbst geschriebene Klasse.</p>
<h2>Was die Klasse kann</h2>
<ul>
<li>Vorschaubilder von beliebiger Größe erstellen</li>
<li>Das Seitenverhältnis der Vorschaubilder anpassen wenn erforderlich und gewünscht</li>
<li>Einen Rahmen um das Vorschaubild zeichnen.</li>
<li>Ein kleines Kästchen mit Informationen wie z.B. Dateigröße, Dateityp, o.Ä. oben/unten anzeigen.</li>
<li>Die Transparenz und die Farben des Kästchens und der Schrift die Farbe des Hintergrunds und des Rahmens sowie die Dicke von letzterem lassen sich einfach ändern/anpassen.</li>
<li>Bei Fehlern werden Exceptions geworfen.</li>
</ul>
<p style="text-align: justify;"><span id="more-116"></span></p>
<h2>Die Klasse</h2>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> thumbnail_exception <span style="color: #000000; font-weight: bold;">extends</span> Exception <span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> thumbnail <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000088;">$image_width</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>				<span style="color: #666666; font-style: italic;">/* Width of the source image */</span>
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000088;">$image_height</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>				<span style="color: #666666; font-style: italic;">/* Height of the source image */</span>
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000088;">$image_handle</span><span style="color: #339933;">;</span>				<span style="color: #666666; font-style: italic;">/* Handle of the source image */</span>
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000088;">$image_path</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>				<span style="color: #666666; font-style: italic;">/* Path of the source image */</span>
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000088;">$image_type</span><span style="color: #339933;">;</span>					<span style="color: #666666; font-style: italic;">/* Image type of the source image */</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000088;">$thumbnail_path</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>				<span style="color: #666666; font-style: italic;">/* Path where the thumbnail should be saved */</span>
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000088;">$thumbnail_width</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">100</span><span style="color: #339933;">;</span>			<span style="color: #666666; font-style: italic;">/* Desired thumbnail width */</span>
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000088;">$thumbnail_height</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">100</span><span style="color: #339933;">;</span>			<span style="color: #666666; font-style: italic;">/* Desired thumbnail height */</span>
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000088;">$thumbnail_type</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">IMAGETYPE_BY_SOURCE</span><span style="color: #339933;">;</span>	<span style="color: #666666; font-style: italic;">/* Desired image type of the thumbnail */</span>
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000088;">$thumbnail_final_width</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">100</span><span style="color: #339933;">;</span>			<span style="color: #666666; font-style: italic;">/* Final width of the thumbnail picture */</span>
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000088;">$thumbnail_final_height</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">100</span><span style="color: #339933;">;</span>		<span style="color: #666666; font-style: italic;">/* Final height of the thumbnail picture */</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000088;">$border_size</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>				<span style="color: #666666; font-style: italic;">/* Border size */</span>
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000088;">$border_color</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;#000&quot;</span><span style="color: #339933;">;</span>			<span style="color: #666666; font-style: italic;">/* Border color */</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000088;">$background_color</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;#ccc&quot;</span><span style="color: #339933;">;</span>			<span style="color: #666666; font-style: italic;">/* Background color */</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000088;">$resize</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>				<span style="color: #666666; font-style: italic;">/* Should the thumbnail be resized according to width:height ratio? */</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000088;">$quality</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">RESAMPLE</span><span style="color: #339933;">;</span>			<span style="color: #666666; font-style: italic;">/* Quality of the thumbnail */</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000088;">$info_position</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">NO_INFO</span><span style="color: #339933;">;</span>		<span style="color: #666666; font-style: italic;">/* Position of the information box, or if it should not be drawn &quot;NO_INFO&quot; */</span>
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000088;">$info_box_color</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;#000&quot;</span><span style="color: #339933;">;</span>			<span style="color: #666666; font-style: italic;">/* Color of the background of the information box */</span>
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000088;">$info_text_color</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;#FFF&quot;</span><span style="color: #339933;">;</span>			<span style="color: #666666; font-style: italic;">/* Text color of the information box */</span>
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000088;">$info_text</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>				<span style="color: #666666; font-style: italic;">/* Text of the information box */</span>
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000088;">$info_transparency</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>			<span style="color: #666666; font-style: italic;">/* Transparency of the information box */</span>
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000088;">$info_size</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">16</span><span style="color: #339933;">;</span>				<span style="color: #666666; font-style: italic;">/* Height of the information box */</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">const</span> RESIZE <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>					<span style="color: #666666; font-style: italic;">/* Only resize, do not resample */</span>
	<span style="color: #000000; font-weight: bold;">const</span> RESAMPLE <span style="color: #339933;">=</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>					<span style="color: #666666; font-style: italic;">/* Resample the image, slower but better quality */</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">const</span> IMAGETYPE_BY_SOURCE <span style="color: #339933;">=</span> <span style="color: #cc66cc;">100</span><span style="color: #339933;">;</span>			<span style="color: #666666; font-style: italic;">/* Choose thumbnail image type like source image type */</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">const</span> NO_INFO <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">const</span> TOP <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">const</span> BOTTOM <span style="color: #339933;">=</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> get_width<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_width</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> get_height<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_height</span><span style="color: #339933;">;</span> 
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> get_type<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">switch</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_type</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">case</span> IMAGETYPE_GIF<span style="color: #339933;">:</span>  <span style="color: #b1b100;">return</span> <span style="color: #0000ff;">&quot;GIF&quot;</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">case</span> IMAGETYPE_JPEG<span style="color: #339933;">:</span> <span style="color: #b1b100;">return</span> <span style="color: #0000ff;">&quot;JPG&quot;</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">case</span> IMAGETYPE_PNG<span style="color: #339933;">:</span>  <span style="color: #b1b100;">return</span> <span style="color: #0000ff;">&quot;PNG&quot;</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">default</span><span style="color: #339933;">:</span> <span style="color: #b1b100;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> thumbnail_exception<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Image type not supported!&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> get_filesize<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$fsize</span> <span style="color: #339933;">=</span> <span style="color: #990000;">filesize</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_path</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #666666; font-style: italic;">/* The filesize function returns the file size in bytes. -&gt; convert value to Kibi/Mebibytes */</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$fsize</span> <span style="color: #339933;">&gt;=</span> <span style="color: #cc66cc;">1048576</span><span style="color: #009900;">&#41;</span> 
			<span style="color: #b1b100;">return</span> <span style="color: #990000;">round</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fsize</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">1048576</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot; MiB&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">else</span>
			<span style="color: #b1b100;">return</span> <span style="color: #990000;">round</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fsize</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">1024</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot; KiB&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> set_image<span style="color: #009900;">&#40;</span><span style="color: #000088;">$path</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_path</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$path</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000088;">$info</span> <span style="color: #339933;">=</span> <span style="color: #990000;">getimagesize</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$path</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$info</span> <span style="color: #339933;">==</span> <span style="color: #009900; font-weight: bold;">false</span> <span style="color: #339933;">||</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$info</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$info</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
			<span style="color: #b1b100;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> thumbnail_exception<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Image could not be read, is not an image or image type is not supported!&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_height</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$info</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_width</span>  <span style="color: #339933;">=</span> <span style="color: #000088;">$info</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_type</span>   <span style="color: #339933;">=</span> <span style="color: #000088;">$info</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">switch</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_type</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">case</span> IMAGETYPE_GIF<span style="color: #339933;">:</span>  <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_handle</span> <span style="color: #339933;">=</span> <span style="color: #990000;">imagecreatefromgif</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$path</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">case</span> IMAGETYPE_JPEG<span style="color: #339933;">:</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_handle</span> <span style="color: #339933;">=</span> <span style="color: #990000;">imagecreatefromjpeg</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$path</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">case</span> IMAGETYPE_PNG<span style="color: #339933;">:</span>  <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_handle</span> <span style="color: #339933;">=</span> <span style="color: #990000;">imagecreatefrompng</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$path</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">default</span><span style="color: #339933;">:</span> <span style="color: #b1b100;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> thumbnail_exception<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Image type not supported!&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> set_information_box<span style="color: #009900;">&#40;</span><span style="color: #000088;">$position</span><span style="color: #339933;">,</span> <span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$box_color</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;#000&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$text_color</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;#FFF&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$trans</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">switch</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$position</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">case</span> <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">NO_INFO</span><span style="color: #339933;">:</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info_position</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">NO_INFO</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">case</span> <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">TOP</span><span style="color: #339933;">:</span>     <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info_position</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">TOP</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">case</span> <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">BOTTOM</span><span style="color: #339933;">:</span>  <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info_position</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">BOTTOM</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">default</span><span style="color: #339933;">:</span> <span style="color: #b1b100;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> thumbnail_exception<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Position must be NO_INFO, TOP, or BOTTOM.&quot;</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">/* Checks if the desired information text fits into the thumbnail. */</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">calculate_info_text_pixels</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_width</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">border_size</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
			<span style="color: #b1b100;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> thumbnail_exception<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Text &quot;</span><span style="color: #000088;">$text</span><span style="color: #0000ff;">&quot; doesn't fit into image.&quot;</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info_text</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$text</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info_box_color</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$box_color</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info_text_color</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$text_color</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$trans</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">0</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$trans</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">127</span><span style="color: #009900;">&#41;</span>
			<span style="color: #b1b100;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> thumbnail_exception<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Transparency must be a number between 0 and 127.&quot;</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info_transparency</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$trans</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> set_dimensions<span style="color: #009900;">&#40;</span><span style="color: #000088;">$width</span><span style="color: #339933;">,</span> <span style="color: #000088;">$height</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$width</span> <span style="color: #339933;">&lt;=</span> <span style="color: #cc66cc;">0</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$height</span> <span style="color: #339933;">&lt;=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
			<span style="color: #b1b100;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> thumbnail_exception<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;The desired thumbnail width and height must be above 0.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_width</span>  <span style="color: #339933;">=</span> <span style="color: #000088;">$width</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_height</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$height</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> set_image_type<span style="color: #009900;">&#40;</span><span style="color: #000088;">$type</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$type</span> <span style="color: #339933;">!=</span> <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">IMAGETYPE_BY_SOURCE</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$type</span> <span style="color: #339933;">!=</span> IMAGETYPE_GIF <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$type</span> <span style="color: #339933;">!=</span> IMAGETYPE_PNG <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$type</span> <span style="color: #339933;">!=</span> IMAGETYPE_JPEG<span style="color: #009900;">&#41;</span>
			<span style="color: #b1b100;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> thumbnail_exception<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Image type not supported.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_type</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$type</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> set_destination_path<span style="color: #009900;">&#40;</span><span style="color: #000088;">$path</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_path</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$path</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> set_border<span style="color: #009900;">&#40;</span><span style="color: #000088;">$size</span><span style="color: #339933;">,</span> <span style="color: #000088;">$color</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$size</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
			<span style="color: #b1b100;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> thumbnail_exception<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Border size must be 0 or higher.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">border_size</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$size</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">border_color</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$color</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> set_resize<span style="color: #009900;">&#40;</span><span style="color: #000088;">$resize</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">resize</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$resize</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> set_background_color<span style="color: #009900;">&#40;</span><span style="color: #000088;">$color</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">background_color</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$color</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> set_quality<span style="color: #009900;">&#40;</span><span style="color: #000088;">$quality</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">quality</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$quality</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> create_thumbnail<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">/* Remember values, because if the image gets resized, they would change. */</span>
		<span style="color: #000088;">$tw_backup</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_width</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$th_backup</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_height</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">/* Calculate the final dimensions of the resized image. These values are not the final size of the thumbnail picture,
		 * only the dimensions of the resized image! */</span>
		<span style="color: #000088;">$total_height</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_height</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">border_size</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$total_width</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_width</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">border_size</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">/* If the information box is drawn, and it is drawn not inside the thumbnail picture, adjust height value. */</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info_position</span> <span style="color: #339933;">!=</span> <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">NO_INFO</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info_transparency</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> 
			<span style="color: #000088;">$total_height</span> <span style="color: #339933;">-=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info_size</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">/* If the source image is wider than high, recalculate final height to fit aspect ratio. Otherwise recalculate
		 * the width. */</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_width</span> <span style="color: #339933;">&gt;</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_height</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_final_width</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$total_width</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_final_height</span> <span style="color: #339933;">=</span> <span style="color: #990000;">round</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_height</span> <span style="color: #339933;">/</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_width</span> <span style="color: #339933;">/</span> <span style="color: #000088;">$total_width</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_final_height</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$total_height</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_final_width</span>  <span style="color: #339933;">=</span> <span style="color: #990000;">round</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_width</span> <span style="color: #339933;">/</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_height</span> <span style="color: #339933;">/</span> <span style="color: #000088;">$total_height</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">/* If the thumbnail should get resized according to the aspect ratio (so there is no unfilled space or background
		 * in the final thumbnail) the values for the final size of the thumbnail picture get adjusted. */</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">resize</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_width</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_final_width</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">border_size</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_height</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_final_height</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">border_size</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">/* Again, if the information box is drawn, and it is drawn not inside the thumbnail picture, adjust height 
			 * value. */</span>
			<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info_position</span> <span style="color: #339933;">!=</span> <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">NO_INFO</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info_transparency</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> 
				<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_height</span> <span style="color: #339933;">+=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info_size</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_handle</span> <span style="color: #339933;">=</span> <span style="color: #990000;">imagecreatetruecolor</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_width</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_height</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">draw_background</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">draw_thumbnail</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">draw_border</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">draw_info</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_type</span> <span style="color: #339933;">==</span> <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">IMAGETYPE_BY_SOURCE</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_type</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_type</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">switch</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_type</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">case</span> IMAGETYPE_PNG<span style="color: #339933;">:</span> <span style="color: #990000;">imagepng</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_handle</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_path</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">case</span> IMAGETYPE_GIF<span style="color: #339933;">:</span> <span style="color: #990000;">imagegif</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_handle</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_path</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">case</span> IMAGETYPE_JPEG<span style="color: #339933;">:</span> <span style="color: #990000;">imagejpeg</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_handle</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_path</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">/* Now restore the desired thumbnail dimensions, this is needed if more than one thumbnail is generated using the same
		 * class instance. */</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_width</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$tw_backup</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_height</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$th_backup</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000000; font-weight: bold;">function</span> draw_border<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$border_color</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">allocate_color_from_hex</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">border_color</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&lt;</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">border_size</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
			<span style="color: #990000;">imagerectangle</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_handle</span><span style="color: #339933;">,</span> <span style="color: #000088;">$i</span><span style="color: #339933;">,</span> <span style="color: #000088;">$i</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_width</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$i</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_height</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$i</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$border_color</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000000; font-weight: bold;">function</span> draw_thumbnail<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info_transparency</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info_position</span> <span style="color: #339933;">!=</span> <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">NO_INFO</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000088;">$tr</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info_size</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
		<span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span> <span style="color: #000088;">$tr</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #000088;">$sx</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_width</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_final_width</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$sy</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_height</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_final_height</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$tr</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info_position</span> <span style="color: #339933;">==</span> <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">TOP</span><span style="color: #009900;">&#41;</span>
			<span style="color: #000088;">$sy</span> <span style="color: #339933;">+=</span> <span style="color: #000088;">$tr</span><span style="color: #339933;">;</span>
		<span style="color: #990000;">var_dump</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sx</span><span style="color: #339933;">,</span><span style="color: #000088;">$sy</span><span style="color: #339933;">,</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_height</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_final_height</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">switch</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">quality</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">case</span> <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">RESIZE</span><span style="color: #339933;">:</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_resize</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sx</span><span style="color: #339933;">,</span> <span style="color: #000088;">$sy</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">case</span> <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">RESAMPLE</span><span style="color: #339933;">:</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_resample</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sx</span><span style="color: #339933;">,</span> <span style="color: #000088;">$sy</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">default</span><span style="color: #339933;">:</span> <span style="color: #b1b100;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> thumbnail_exception<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Quality can only be one of these: QUALITY_RESIZE, QUALITY_RESAMPLE.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000000; font-weight: bold;">function</span> draw_background<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #990000;">imagefill</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_handle</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">allocate_color_from_hex</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">background_color</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000000; font-weight: bold;">function</span> draw_info<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">/* Don't draw information box if it would take over the half of the image. */</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_height</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info_size</span><span style="color: #009900;">&#41;</span>
			<span style="color: #b1b100;">return</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">switch</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info_position</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">case</span> <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">NO_INFO</span><span style="color: #339933;">:</span> <span style="color: #b1b100;">return</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">case</span> <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">TOP</span><span style="color: #339933;">:</span>    <span style="color: #000088;">$position_y</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">border_size</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
			<span style="color: #666666; font-style: italic;">/* minus border size (the border at the top), the size of the info bar and 1 (because drawing starts at position 0) */</span>
			<span style="color: #b1b100;">case</span> <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">BOTTOM</span><span style="color: #339933;">:</span> <span style="color: #000088;">$position_y</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_height</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">border_size</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info_size</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #000088;">$position_x</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">border_size</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$text_x</span> <span style="color: #339933;">=</span> <span style="color: #990000;">round</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_width</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">border_size</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">calculate_info_text_pixels</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info_text</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">/* Activate alpha blending when transparency is used. */</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info_transparency</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
			<span style="color: #990000;">imagealphablending</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_handle</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000088;">$bkg_color</span> <span style="color: #339933;">=</span>  <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">allocate_color_from_hex</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info_box_color</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info_transparency</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$text_color</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">allocate_color_from_hex</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info_text_color</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info_transparency</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #990000;">imagefilledrectangle</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_handle</span><span style="color: #339933;">,</span> <span style="color: #000088;">$position_x</span><span style="color: #339933;">,</span> <span style="color: #000088;">$position_y</span><span style="color: #339933;">,</span> 
				     <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_width</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$position_x</span> <span style="color: #339933;">-</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #000088;">$position_y</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info_size</span><span style="color: #339933;">,</span> <span style="color: #000088;">$bkg_color</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #990000;">imagestring</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_handle</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">3</span><span style="color: #339933;">,</span> <span style="color: #000088;">$text_x</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #000088;">$position_y</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">info_text</span><span style="color: #339933;">,</span> <span style="color: #000088;">$text_color</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000000; font-weight: bold;">function</span> image_resize<span style="color: #009900;">&#40;</span><span style="color: #000088;">$sx</span><span style="color: #339933;">,</span> <span style="color: #000088;">$sy</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #990000;">imagecopyresized</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_handle</span><span style="color: #339933;">,</span>
				 <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_handle</span><span style="color: #339933;">,</span>
				 <span style="color: #000088;">$sx</span><span style="color: #339933;">,</span>
				 <span style="color: #000088;">$sy</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span>
				 <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_final_width</span><span style="color: #339933;">,</span>
				 <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_final_height</span><span style="color: #339933;">,</span>
				 <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_width</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_height</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000000; font-weight: bold;">function</span> image_resample<span style="color: #009900;">&#40;</span><span style="color: #000088;">$sx</span><span style="color: #339933;">,</span> <span style="color: #000088;">$sy</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #990000;">imagecopyresampled</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_handle</span><span style="color: #339933;">,</span>
				   <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_handle</span><span style="color: #339933;">,</span>
				   <span style="color: #000088;">$sx</span><span style="color: #339933;">,</span>
				   <span style="color: #000088;">$sy</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span>
				   <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_final_width</span><span style="color: #339933;">,</span>
				   <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_final_height</span><span style="color: #339933;">,</span>
				   <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_width</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image_height</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">function</span> allocate_color_from_hex<span style="color: #009900;">&#40;</span><span style="color: #000088;">$hex</span><span style="color: #339933;">,</span> <span style="color: #000088;">$trans</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>	
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$hex</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$hex</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'#'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$hex</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$hex</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$hex</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$hex</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$hex</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$hex</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000088;">$red</span>   <span style="color: #339933;">=</span> <span style="color: #990000;">hexdec</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$hex</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$green</span> <span style="color: #339933;">=</span> <span style="color: #990000;">hexdec</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$hex</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">3</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$blue</span>  <span style="color: #339933;">=</span> <span style="color: #990000;">hexdec</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$hex</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">5</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$trans</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">return</span> <span style="color: #990000;">imagecolorallocate</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_handle</span><span style="color: #339933;">,</span> <span style="color: #000088;">$red</span><span style="color: #339933;">,</span> <span style="color: #000088;">$green</span><span style="color: #339933;">,</span> <span style="color: #000088;">$blue</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #990000;">imagecolorallocatealpha</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnail_handle</span><span style="color: #339933;">,</span> <span style="color: #000088;">$red</span><span style="color: #339933;">,</span> <span style="color: #000088;">$green</span><span style="color: #339933;">,</span> <span style="color: #000088;">$blue</span><span style="color: #339933;">,</span> <span style="color: #000088;">$trans</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">function</span> calculate_info_text_pixels<span style="color: #009900;">&#40;</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">7</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<h2>Verwendung</h2>
<p>Hier ein kleines Beispiel das zeigt wie man ein Vorschaubild mit einem Rahmen und ohne Info-Kästchen erstellt. Zu erst wird eine neue Instanz der thumbnail-Klasse erstellt, dann wird mit den set_-Befehlen festgelegt wo das Vorschaubild gespeichert wird, wie der Rahmen aussehen soll etc.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/* Ein einfaches Vorschaubild ohne Info-Box erstellen */</span>
<span style="color: #b1b100;">require_once</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;thumbnail/thumbnail.class.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
try <span style="color: #009900;">&#123;</span>
	<span style="color: #666666; font-style: italic;">/* Eine neue Instanz der Vorschaubild-Klasse erstellen */</span>
	<span style="color: #000088;">$thumb</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> thumbnail<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">/* Festlegen von welchem Bild ein Vorschaubild erstellt werden soll */</span>
	<span style="color: #000088;">$thumb</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">set_image</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;ausgangsbild.png&quot;</span><span style="color: #009900;">&#41;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">/* Wo das Vorschaubild gespeichert werden soll */</span>
	      <span style="color: #339933;">-&gt;</span><span style="color: #004000;">set_destination_path</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;vorschaubild.png&quot;</span><span style="color: #009900;">&#41;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">/* 1 Pixel breiter schwarzer (#000) Rahmen */</span>
	      <span style="color: #339933;">-&gt;</span><span style="color: #004000;">set_border</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;#000&quot;</span><span style="color: #009900;">&#41;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">/* Das Bild soll schnell aber mit niedrigerer Qualitaet verkleinert werden */</span>
	      <span style="color: #339933;">-&gt;</span><span style="color: #004000;">set_quality</span><span style="color: #009900;">&#40;</span>thumbnail<span style="color: #339933;">::</span><span style="color: #004000;">RESIZE</span><span style="color: #009900;">&#41;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">/* Legt fest in welchem Bildformat (PNG, JPEG, GIF) das Vorschaubild
	 * gespeichert werden soll, bei IMAGETYPE_BY_SOURCE wird das Bildformat
	 * vom Quellbild genommen */</span>
	      <span style="color: #339933;">-&gt;</span><span style="color: #004000;">set_image_type</span><span style="color: #009900;">&#40;</span>thumbnail<span style="color: #339933;">::</span><span style="color: #004000;">IMAGETYPE_BY_SOURCE</span><span style="color: #009900;">&#41;</span>
	<span style="color: #666666; font-style: italic;">/* Keine Info-Box anzeigen */</span>
	      <span style="color: #339933;">-&gt;</span><span style="color: #004000;">set_information_box</span><span style="color: #009900;">&#40;</span>thumbnail<span style="color: #339933;">::</span><span style="color: #004000;">NO_INFO</span><span style="color: #009900;">&#41;</span>
	<span style="color: #666666; font-style: italic;">/* Vorschaubild erstellen */</span>
	      <span style="color: #339933;">-&gt;</span><span style="color: #004000;">create_thumbnail</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
catch <span style="color: #009900;">&#40;</span>thumbnail_exception <span style="color: #000088;">$e</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #666666; font-style: italic;">/* Fehler ausgeben falls einer aufgetreten ist */</span>
	<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Fehler: &quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$e</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Wenn bei der Erstellung des Vorschaubildes irgendetwas schief läuft wird eine Exception geworfen, die Fehlermeldung kann dann per getMessage() abgerufen werden.</p>
<p>Zu den einzelnen Funktionen/Einstellungsmöglichkeiten:</p>
<h3>set_image($pfad)</h3>
<p>Bestimmt das Bild, von dem ein Vorschaubild erstellt werden soll. Der Parameter $pfad gibt den Pfad zum Bild bzw. den Dateinamen an.</p>
<h3>set_dimensions($breite, $hoehe)</h3>
<p>Legt fest wie groß das Vorschaubild sein soll.</p>
<h3>set_image_type($bildformat)</h3>
<p>Diese Funktion legt fest in welchem Format das Vorschaubild abgespeichert werden soll, mögliche Bildformate sind:</p>
<ul>
<li>IMAGETYPE_GIF (.gif)</li>
<li>IMAGETYPE_PNG (.png)</li>
<li>IMAGETYPE_JPEG (.jpg/.jpeg)</li>
<li>IMAGETYPE_BY_SOURCE (Das Vorschaubild wird im selben Format wie das Ausgangsbild abgespeichert)</li>
</ul>
<p>Andere Bildformate als GIF/PNG/JPEG werden nicht unterstützt.</p>
<h3>set_destination_path($pfad)</h3>
<p>Legt fest unter welchem Dateinamen/Pfad das Vorschaubild abgespeichert werden soll.</p>
<h3>set_border($dicke, $farbe)</h3>
<p>Mit set_border lässt sich einstellen ob ein Rahmen gezeichnet werden soll (Kein Rahmen: $dicke = 0), wie dick er sein soll und welche Farbe er hat. Die Farbe wird als HTML-Farbcode angegeben, z.B. #000000 für Schwarz.</p>
<h3>set_resize($anpassen)</h3>
<p>Das Vorschaubild kann in seiner Größe an das Seitenverhältnis angepasst werden. Ist das Ausgangsbild z.B. sehr breit aber hat nur eine geringe Höhe, wird die Höhe des Vorschaubildes entsprechend angepasst (set_resize(true)), ansonsten wird die freie Fläche mit der Hintergrundfarbe aufgefüllt (set_resize(false)).</p>
<h3>set_background_color($farbe)</h3>
<p>Legt die Hintergrundfarbe vom Vorschaubild fest (siehe set_resize).</p>
<h3>set_quality($qualitaet)</h3>
<p><a href="http://antusblog.de/wp-content/uploads/2008/11/thumbnail_resample.png"><img class="alignright size-full wp-image-121" title="set_quality(thumbnail::RESAMPLE);" src="http://antusblog.de/wp-content/uploads/2008/11/thumbnail_resample.png" alt="" width="130" height="130" /></a><a href="http://antusblog.de/wp-content/uploads/2008/11/thumbnail_resize.png"><img class="size-full wp-image-120 alignleft" title="set_quality(thumbnail::RESIZE);" src="http://antusblog.de/wp-content/uploads/2008/11/thumbnail_resize.png" alt="" width="130" height="130" /></a><br />
PHP bietet zwei Funktionen zum vergrößern/verkleinern von Bildern an, einmal imagecopyresized und einmal imagecopyresampled. Letzteres erzeugt schönere Ergebnisse, ist aber ungefähr 400% langsamer. set_quality legt fest ob imagecopyresized (thumbnail::RESIZE) oder imagecopyresampled (thumbnail::RESAMPLE) verwendet werden soll.</p>
<h3>set_information_box($position, $text, $kaestchenfarbe, $textfarbe, $transparenz)</h3>
<p><a href="http://antusblog.de/wp-content/uploads/2008/11/thumbnail_top.png"><img class="alignright size-full wp-image-122" title="thumbnail::TOP" src="http://antusblog.de/wp-content/uploads/2008/11/thumbnail_top.png" alt="" width="130" height="130" /></a><a href="http://antusblog.de/wp-content/uploads/2008/11/thumbnail_bottom.png"><img class="alignright size-full wp-image-123" title="thumbnail::BOTTOM" src="http://antusblog.de/wp-content/uploads/2008/11/thumbnail_bottom.png" alt="" width="130" height="130" /></a>Man kann am unteren oder oberen Rand des Vorschaubilds ein kleines Kästchen mit Informationen über das Bild anzeigen lassen. $position legt fest ob das Kästchen oben (thumbnail::TOP), unten (thumbnail::BOTTOM) oder gar nicht (thumbnail::NO_INFO) angezeigt werden soll. $text ist der Text der im Kästchen stehen soll, ist dieser zu lang und passt nicht ins Bild wird eine Exception geworfen. Meistens will man im Kästchen Informationen über das Ausgangsbild anzeigen, folgende 4 Funktionen erleichtern das:</p>
<ul>
<li>get_width &#8211; Gibt die Breite des Ausgangsbilds zurück</li>
<li>get_height &#8211; Gibt die Höhe zurück</li>
<li>get_type &#8211; Gibt das Bildformat zurück (GIF/PNG/JPG)</li>
<li>get_filesize &#8211; Die Dateigröße in KiB/MiB (z.B. &#8220;123 KiB&#8221;, &#8220;2.45 MiB&#8221;)</li>
</ul>
<p>$kaestchenfarbe und $textfarbe bestimmen die Farbe, $transparenz die Transparenz des Kästchens/der Schrift. Die Farben werden als HTML-Farbcodes angegeben (z.B. #123456), die Transparenz als Zahl zwischen 0 (keine Transparenz) und 127 (100% transparent/unsichtbar).</p>
<h3>create_thumbnail()</h3>
<p>Erstellt das Vorschaubild und speichert es unter der mit set_destination_path angegebenen Ziel-Adresse ab.</p>
<h2>Abschließendes</h2>
<p>Wenn ihr die Klasse gebrauchen könnt, könnt ihr sie gerne verwenden. Ich übernehm aber keine Garantie dafür das sie fehlerfrei ist. <img src='http://www.antusblog.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Über Kritik/Verbesserungsvorschläge würde ich mich freuen, schreibt doch einfach einen Kommentar.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antusblog.de/2008/11/29/php-vorschaubild-klasse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>imagecolorallocate mit HTML-Farbcodes</title>
		<link>http://www.antusblog.de/2008/10/16/php-imagecolorallocate-mit-html-farbcodes/</link>
		<comments>http://www.antusblog.de/2008/10/16/php-imagecolorallocate-mit-html-farbcodes/#comments</comments>
		<pubDate>Thu, 16 Oct 2008 21:41:04 +0000</pubDate>
		<dc:creator>Antu</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Skripte und Klassen]]></category>
		<category><![CDATA[Codeschnipsel]]></category>

		<guid isPermaLink="false">http://antu.bplaced.net/?p=36</guid>
		<description><![CDATA[Ich hab hier mal eine kleine Funktion geschrieben mit der man Farben direkt aus HTML-Farbcodes erstellen kann. function allocate_color_from_hex&#40;$handle, $hex&#41; &#123; if &#40;strlen&#40;$hex&#41; == 4&#41; $hex = '#' . $hex&#91;1&#93; . $hex&#91;1&#93; . $hex&#91;2&#93; . $hex&#91;2&#93; . $hex&#91;3&#93; . $hex&#91;3&#93;; &#160; $red = hexdec&#40;substr&#40;$hex, 1, 2&#41;&#41;; $green = hexdec&#40;substr&#40;$hex, 3, 2&#41;&#41;; $blue = hexdec&#40;substr&#40;$hex, 5, [...]]]></description>
			<content:encoded><![CDATA[<p>Ich hab hier mal eine kleine Funktion geschrieben mit der man Farben direkt aus HTML-Farbcodes erstellen kann.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> allocate_color_from_hex<span style="color: #009900;">&#40;</span><span style="color: #000088;">$handle</span><span style="color: #339933;">,</span> <span style="color: #000088;">$hex</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$hex</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$hex</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'#'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$hex</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$hex</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$hex</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$hex</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$hex</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$hex</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$red</span>   <span style="color: #339933;">=</span> <span style="color: #990000;">hexdec</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$hex</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$green</span> <span style="color: #339933;">=</span> <span style="color: #990000;">hexdec</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$hex</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">3</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$blue</span>  <span style="color: #339933;">=</span> <span style="color: #990000;">hexdec</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$hex</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">5</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">return</span> <span style="color: #990000;">imagecolorallocate</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$handle</span><span style="color: #339933;">,</span> <span style="color: #000088;">$red</span><span style="color: #339933;">,</span> <span style="color: #000088;">$green</span><span style="color: #339933;">,</span> <span style="color: #000088;">$blue</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Benutzung:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$color</span> <span style="color: #339933;">=</span> allocate_color_from_hex<span style="color: #009900;">&#40;</span><span style="color: #000088;">$picture</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;#123456&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Vielleicht ist die ja nicht nur für mich nützlich. <img src='http://www.antusblog.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.antusblog.de/2008/10/16/php-imagecolorallocate-mit-html-farbcodes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

