image_file = end($image_info); $this->image_path = PATH_IMG . $this->image_file; } /** * Obtém as informações da imagem, a redimensiona se necessário. **/ function carregaImagem(){ $this->img = null; $this->extensao = strtolower(end(explode('.', $this->image_path))); if ($this->extensao == 'jpg' || $this->extensao == 'jpeg'){ $img = @imagecreatefromjpeg($this->image_path); }else{ echo "Utilize apenas formato JPG."; } if ($this->img) { $this->width = imagesx($this->img); $this->height = imagesy($this->img); $this->scale = min(MAX_WIDTH/$this->width, MAX_HEIGHT/$this->height); // encolhe a imagem se ela for maior que o permitido if($this->scale < 1){ $this->new_width = floor($this->scale * $this->width); $this->new_height = floor($this->scale * $this->height); //cria o handle temporário com as novas dimensões $this->image_tmp = imagecreatetruecolor($this->new_width, $this->new_height); // copia e redimensiona a antiga imagem na nova imagecopyresampled($this->image_tmp, $this->img, 0, 0, 0, 0, $this->new_width, $this->new_height, $this->width, $this->hieght); imagedestroy($this->img); $img = $this->image_tmp; } } } /** * Gera uma imagem de erro caso a imagem original não seja carregada por algum motivo. **/ function erroImagem(){ if(!$this->img){ $this->img = imagecreate(MAX_WIDTH, MAX_HEIGHT); imagecolorallocate($this->img,204,204,204); $c = imagecolorallocate($this->img,153,153,153); $c1 = imagecolorallocate($this->img,0,0,0); imageline($this->img,0,0,MAX_WIDTH,MAX_HEIGHT,$c); imagestring($this->img, 2, 12, 55, 'erro ao carregar a imagem',$c1); } } /** * Exibe a imagem no browser. **/ function mostraImagem(){ header('Content-type: image/jpeg'); imagejpeg($this->img); } } ?>