<?php
/*
  Autor: Max Rosan dos Santos Junior
  E-Mail: maxjunior@starconect.com.br
  Obs: Esse arquivo s� pode ser ultilizado para fins comerciais com autoriza��o do autor ou com uma nova vers�o do arquivo
  Vers�o: 1.1
*/
 class Image {
  var $im = null; // P�blica
  var $size = array(); // P�blica
  /*
   @param $file Arquivo imagem
  */
   function image($file) { //Construtor
    $this->im = @imagecreatefromjpeg($file); // Cria uma nova Imagem na mem�ria a partir de outra no formato JPEG 
    $this->size = array(@imagesx($this->im), @imagesy($this->im)); // Pega as dimens�es da imagem
   }
   /*
   @param $w Largura , $y Comprimento
   */
  function resized($w, $h) { // Reduz a imagem
   $scale = min(($w / $this->size[0]), ($h / $this->size[1])); // Escala para fazer a redu��o da imagem de acordo com sua pr�pria dimens�o
   $w = $this->size[0] * $scale; // Largura
   $h = $this->size[1] * $scale; // Altura
   $imTrue = @imagecreatetruecolor($w, $h); // Cria uma nova imagem na mem�ria
   @imagecopyresized($imTrue, $this->im, 0, 0, 0, 0, $w, $h, $this->size[0], $this->size[1]); // Reduz a imagem
   $this->im = $imTrue; // Atualiza a imagem
  }
   /*
    @param $x, $y Coordenadas
   */
   function coord($x, $y, $f = null) { // Pega certo ponto de uma imagem na resolu��o 100 x 100
   	$imdst = imagecreatetruecolor(100, 100); // Cria uma nova imagem na mem�ria
    imagecopyresized($imdst, $this->im, 0, 0, $x, $y, 100, 100, 100, 100);
    $this->im = $imdst;
    imagedestroy($imdst);
   }   
    /*
	 @param $logo Arquivo Marca D��gua em formato PNG
	*/
    function logo($logo) { // Adiciona uma imagem dentro de outra , Marca D��gua
     $imLogo = imagecreatefrompng($logo); // Cria uma imagem na mem�ria a partir de uma PNG
     @imagecopy($this->im, $imLogo, (@imagesx($this->im) - @imagesx($imLogo)), (@imagesy($this->im) - @imagesy($imLogo)), 0, 0, @imagesx($imLogo), @imagesy($imLogo)); // C�pia para dentro da imagem
     @imagedestroy($imLogo);
    }
	/*
	 @param $path Arquivo para onde ser� salvo
	 @param $type Tipo da imagem
	*/
   function save($path, $type = JPEG) {
    if ($type == JPEG)
     @imagejpeg($this->im, $path, 100);
   else if ($type == GIF)
     @imagegif($this->im, $path);
    else if ($type == PNG)
     @imagepng($this->im, $path);
    @imagedestroy($this->im);
   }
  }
 ?>