Redimensionando imagens com PHP
Publicado por Evaldo Barbosa 05/02/2009
[ Hits: 8.055 ]
Homepage: Em breve
Download redimensionar_imagens.php
Esta função é parte integrante de uma classe que criei para manipulação de arquivos de imagem, por isso os "$this". Você pode pegar e construir a sua classe a partir disso.
/**
* Cria uma miniatura a partir de uma imagem existente
*
* @param String $image_file
* @param String $type
* @param Integer $width
* @param Integer $height
*/
function resize($filename,$type="image/jpeg",$width=0,$height=0) {
if (!file_exists($filename)) {
$this->notFound();
}
//echo $filename;
//die();
$this->width = ($width > 0) ? $width : $this->width;
$this->height = ($height > 0) ? $height : $this->height;
header("Content-type: " . $type);
$dim = $this->getDimensions($filename);
list($old_width, $old_height) = getimagesize($filename);
$image_p = imagecreatetruecolor($dim["w"], $dim["h"]);
switch ($type) {
case "image/jpeg" : $image = imagecreatefromjpeg($filename); break;
case "image/gif" : $image = imagecreatefromgif($filename); break;
case "image/png" : $image = imagecreatefrompng($filename); break;
default : $image = imagecreatefromjpeg($filename); break;
}
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $dim["w"], $dim["h"], $old_width, $old_height);
switch ($type) {
case "image/jpeg" : imagejpeg($image_p, null, $this->jpeg_quality); break;
case "image/gif" : imagegif($image_p, null); break;
case "image/png" : imagepng($image_p, null); break;
default : imagejpeg($image_p, null, $this->jpeg_quality); break;
}
imagedestroy($image_p);
}
Paleta de cores HEXADECIMAL para WEB
Contador de acessos com PHP+MySQL
Pegando tweets de forma simples
File Browser: Crie sua Nuvem Pessoal Privada
A produção de áudio e vídeo no Linux e as distribuições dedicadas a esse fim
Criptografando sua Home com Gocryptfs para tristeza do meliante
A Involução do Linux e as Lambanças Desnecessárias desde o seu Lançamento
O Journal no Linux para a guarda e consulta de logs do sistema
Assistindo IPTV no Linux com Fred TV e Lista Free TV
Impressora Tomate MDK-007 no Ubuntu (ou qualquer distro Linux)
Acelerando a compilação de pacotes no Arch Linux (AUR) usando todos os núcleos do processador
VoidBR - Void Linux adaptado ao Brasil. (2)
Teclado sem conseguir usar o acento crase (2)
Warsaw no Ubuntu/Kubuntu 26.04, alguiém conseguiu? [RESOLVIDO] (2)
Continuando meus tópicos anteriores (13)
As Assinaturas Perderam o Negrito e o Itálico? [RESOLVIDO] (1)









