Classe para Manipulação de Imagens
Exemplos:
- Diminuir imagem em 50% do seu tamanho
- Redimensionar imagem para 200x300 mantendo a proporção
- Redimensionar imagem para 100x100 SEM manter a proporção
- Redimensionar imagem e gerar uma miniatura
- Cortar imagens
Os exemplos acima estão no site:
http://www.tulios.net/classes-php/imagem
- Diminuir imagem em 50% do seu tamanho
- Redimensionar imagem para 200x300 mantendo a proporção
- Redimensionar imagem para 100x100 SEM manter a proporção
- Redimensionar imagem e gerar uma miniatura
- Cortar imagens
Os exemplos acima estão no site:
http://www.tulios.net/classes-php/imagem
Data | Autor | Changelog | Download |
---|---|---|---|
27/03/2010 6:50pm | Túlio Spuri | Versão 1.0 | Versão 1.0 |
16/04/2010 9:42am | Túlio Spuri | Versão 1.2 | Versão 1.2 |
Oi Rubens,
Realmente os links foram muito úteis. Pouparam um bom número de linhas de código. Lancei uma nova versão com modificações possibilitadas pelas suas dicas.
Valeu!
Realmente os links foram muito úteis. Pouparam um bom número de linhas de código. Lancei uma nova versão com modificações possibilitadas pelas suas dicas.
Valeu!
28/03/2010 1:35pm
(~14 anos atrás)
Olá, Túlio, dê uma olhadinha nos links abaixo (acho que devem ajudar sua vida):
http://br2.php.net/manual/pt_BR/function.pathinfo.php
http://br2.php.net/manual/pt_BR/function.realpath.php
Além disso, quando precisar quebrar um caminho, melhor usar a constante DIRECTORY_SEPARATOR, já que no Windows usa "\" ao invés de "/".
http://www.php.net/manual/en/dir.constants.php
http://br2.php.net/manual/pt_BR/function.pathinfo.php
http://br2.php.net/manual/pt_BR/function.realpath.php
Além disso, quando precisar quebrar um caminho, melhor usar a constante DIRECTORY_SEPARATOR, já que no Windows usa "\" ao invés de "/".
http://www.php.net/manual/en/dir.constants.php
27/03/2010 11:57pm
(~14 anos atrás)
criei uma função chamada 'imgCreate()' para redimensionar uma imagem.
Eu estou tentando utilizar essa função para recriar duas imagens nos tamanhos que preciso a partir de uma imagem base recebida por upload.
A questão é a seguinte, as duas imagens são criadas a partir da imagem base que guardo em uma pasta 'uploads', a imagem original é guardada corretamente já as outras duas o arquivo é criado, só que vem com zero bites e a imagem não aparece, ou seja, não é craiada corretamente. Outra coisa que aconteceu também
é que as imagens começaram a ser exibidas em binário. Já tentei inserir o header("Content-type: image/jpeg") mas mesmo assim não funciona.
Já tentei de várias formas corrigir mas ainda não obtive sucesso, se alguém puder me direcionar melhor para a correção desses erros serei imensamente grato.
Segue abaixo os códigos que estou utilizando.
Função 'imgCreate()' no arquivo 'funcoes.php':
<?php
function imgCreate($imgjpg, $width_target)
{
$img = imagecreatefromjpeg($imgjpg);
$width_origin = imagesx($img);
$heigth_origin = imagesy($img);
$heigth_new = (int)($heigth_origin * $width_target)/$width_origin;
$new = imagecreatetruecolor($width_target,$heigth_new);
$criado = imagecopyresampled($new, $img, 0, 0, 0, 0, $width_target, $heigth_new, $width_origin, $heigth_origin);
if($criado){
header("Content-type: image/jpeg");
echo imagejpeg($new, $arquivo, 100);
}
else
return "Not possible create image!";
}
?>
Código onde estou tentando utilizar a função:
<?php
require 'funcoes.php';
$photo = $_FILES["photo"];
if(isset($photo))
{
$widthThumb = 117;
$widthImage = 350;
$newNamePhoto = uniqid(time());
$newPhoto = "../uploads/".$newNamePhoto;
$newNameThumb = $newNameFoto."_thumb.jpg";
$newNameImage = $newNameFoto."_img.jpg";
move_uploaded_file($photo['tmp_name'], $newPhoto);
$thumb = imgCreate($newFoto, $newPhoto, $widthThumb);
$file = fopen("../uploads/".$newNameThumb,"wb");
fwrite($file, $thumb, sizeof($thumb));
fclose($file);
$image = imgCreate($newFoto, $newPhoto, $widthImage);
$file = fopen("../uploads/".$newNameImage,"wb");
fwrite($file, $image, sizeof($image));
fclose($file);
}
?>