Image Class
Publicado por Max Rosan 24/01/2005
[ Hits: 4.744 ]
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); } } ?>
Gerando vários arquivos com PHP usando MPDF
Nenhum comentário foi encontrado.
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
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta