Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ScornInPC

Diminuir tamanho de imagem grande

Recommended Posts

Pessoal,

 

Preciso criar imagens menores, a partir de imagens gigantes, fotos de 12MP pra cima. Preciso criar 4 ou 5 imagens menores a partir dela, e isso da deixando meu servidor muito lento e demorado. Estou usando a classe Canvas, e com alguns testes vi que a performance é a mesma se eu mesmo tentar fazer-la sem a classe. Alguem tem alguma ideia de como fazer de forma mais rapida? Pensei em jogar uma aplicação para fazer isso em C, mas o servidor não da suporte à exec(), system() e derivados

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nâo adianta nada executar isso em C, pois o que demora mesmo é o upload da imagem.

Infelizmente, não há muito o que fazer, o único jeito seria redimensionar a imagem antes de enviar.

Acredito que possa ser feito com Action Script/Flex, mas não tenho certeza, pois não conheço essas linguagens.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Henrique, obrigado pela resposta, mas o meu problema é na demora de redimensionamento mesmo. Como a imagem é grande, o processamento é muito grande tambem, fazendo com o servidor aborte o processo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que eu entendi, você precisa da imagem com a dimensao normal dela, né?

Se foi oq eu entendi, eu uparia essa imagem, depois chamaria as imagens quando necessario e redimensionaria com css...ai nao precisaria upar tanta imagem e seria bem mais pratico

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que eu entendi, você precisa da imagem com a dimensao normal dela, né?

Se foi oq eu entendi, eu uparia essa imagem, depois chamaria as imagens quando necessario e redimensionaria com css...ai nao precisaria upar tanta imagem e seria bem mais pratico

Imagina uma galeria de imagens com 10 itens cada um com 15 mb...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Erick, obrigado pelas ideias, e foi justamente isso que pensei, vou fazer somente o upload. Em uma pagina de administração vou criar os thumbs que quero, e deixar um status como "processando", ou algo assim. Seria legal se eu pudesse criar uma fila, e o sistema fizesse sozinho, pena não poder instalar o nodejs no servidor.

 

Sobre redimensionar com css, é o que o ESerra disse, tem imagem que chega a dar 20Mb =)

 

Vou deixar do jeito que eu disse, mas se alguém tiver alguma ideia para fazer o sistema enfileirar esses processamentos, seria de grande ajuda eu acho

Compartilhar este post


Link para o post
Compartilhar em outros sites

Imagina uma galeria de imagens com 10 itens cada um com 15 mb...

 

Agora saquei rsrs

 

Vivendo e aprendendo!

 

Cara, pensando no que o ESerra disse ai e quais seriam as soluçoes mais viaveis, eu dei uma pesquisada sobre o assunto e achei uma classe bem interessante. Fiz alguns testes e realmente é bem mais eficaz que usar o css, pra redimensionar.

Aqui está:


<?php
// recebendo a url da imagem
$filename = $_GET['img'];
$percent = 0.10;

// Cabeçalho que ira definir a saida da pagina
header('Content-type: image/jpeg');

// pegando as dimensoes reais da imagem, largura e altura
list($width, $height) = getimagesize($filename);

//setando a largura da miniatura
$new_width = 120;
//setando a altura da miniatura
$new_height = 100;

//gerando a a miniatura da imagem
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

//o 3º argumento é a qualidade da imagem de 0 a 100
imagejpeg($image_p, null, 50);
imagedestroy($image_p);
?>

 

encontrei sobre essa classe nesse site aqui

http://clares.wordpress.com/2008/02/13/gerando-miniaturas-de-imagens-c-php/

 

Fiz uns testes com umas imagens bem pesadas, e nao sobrecarregou tanto.

http://otaviomartins.com/thumbs/

 

Enfim...boa sorte rsrs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Erick, valeu pela força

 

 

Essas funções que você mandou, são da extensão GD [http://php.net/manual/pt_BR/book.image.php]. Ela não é uma classe por que a extensão ainda não foi reconstruída em classe (reza a lenda que já foi portada para classe no PHP 6). Enfim, são esses métodos mesmo que estou utilizando. Se você gerar 100 thumbs de 5000x3800 em 5 minutos, em um servidor compartilhado da locaweb ou uol (onde eles configuram porcentagem de processamento e essas coisas) ela fica bem pesada. Tanto que na nossa maquina de desenvolvimento, desenvolvemos toda a solução sem pensar nessa preocupação, mas quando jogamos para produção, vimos o problema

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.