Image Class
Publicado por Max Rosan 24/01/2005
[ Hits: 4.883 ]
Classe para trabalhar com imagens
<?php /* Autor: Max Rosan dos Santos Junior E-Mail: maxjunior@starconect.com.br Versão: 1.2 R */ 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 } // Pega resolução function getResolution() { // Retorna a resolução da imagem return $this->size; } // O método clarear foi desativado por ter um loop quase infinito, ele ficará em estudos /* function clarear() { for ($pxh = 0; $pxh <= ( $this->size[1] ); $pxh++) for ($pxw = 0; $pxw <= ( $this->size[0] ); $pxw++) { $rgb = imagecolorat($this->im, $pxw, $pxh); $r = ($rgb >> 16) & 0xFF; $g = ($rgb >> 8) & 0xFF; $b = $rgb & 0xFF; $cor = imagecolorallocate($this->im, ($r + 10), ($g + 5), ($b + 2)); imagesetpixel($this->im, $pxw, $pxh, $cor); } } */ /* @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 @imagecopyresampled($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); } } ?>
Redimensionamento de imagem JPEG
Listando arquivos do diretório
Manipulação de Arquivos XML para OT Server
Busca por palavra dentro de arquivos
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Linux não é para todo mundo (12)
Problemas ao instalar o PHP (6)