Location: PHPKode > scripts > Image2Char > image2char/image2html.class.php
<?
class Image2HTML{

	var $image;
	var $width;
	var $height;
	// chars used to compose image
	var $chars	= 'B';

	function Image2HTML($image){
		$file_array		= explode('.',$image);
		$extension		= $file_array[sizeof($file_array)-1];

		switch ($extension){
			case 'jpg':
			case 'jpeg':
				$this->image	= imagecreatefromjpeg($image);
				break;
			case 'gif':
				$this->image	= imagecreatefromgif($image);
				break;
			case 'png':
				$this->image	= imagecreatefrompng($image);
				break;
		}
		$this->width	= imagesx($this->image);
		$this->height	= imagesy($this->image);
	}

	function PickColor($x, $y){
		$rgb = ImageColorAt($this->image, $x, $y);

		if(imageistruecolor($this->image)) {
			$r = strtoupper(dechex(($rgb >> 16) & 0xFF));
			$g = strtoupper(dechex(($rgb >> 8) & 0xFF));
			$b = strtoupper(dechex($rgb & 0xFF));
	    } else {
	        $i = imagecolorsforindex($this->image, $rgb);
	        $r = strtoupper(dechex($i['red']));
	        $g = strtoupper(dechex($i['green']));
	        $b = strtoupper(dechex($i['blue']));
	    }
		if (strlen($r) == 1){
			$r	= '0'.$r;
		}
		if (strlen($g) == 1){
			$g	= '0'.$g;
		}
		if (strlen($b) == 1){
			$b	= '0'.$b;
		}

		$rgb	= '#'.$r.$g.$b;

		return ($rgb);
	}

	function Show(){
		$print_font		= true;

		for ($i=0; $i<$this->height; $i++){
			for ($j=0; $j<$this->width; $j++){
				$color	= $this->PickColor($j,$i);
				if ($print_font)
					echo '<font color="'.$color.'">';
				echo $this->chars[rand(0,strlen($this->chars)-1)].$this->chars[rand(0,strlen($this->chars)-1)];
				$print_font	= false;
				if ($j	!= $this->width){
					$next_color	= $this->PickColor($j+1,$i);
					if ($color != $next_color){
						echo '</font>';
						$print_font	= true;
					}
				}
			}
			echo "</font><br>\n";
			flush();
			$print_font	= true;
		}
	}
}
?>
Return current item: Image2Char