Script De Tratamento De Fotos
#1
Posted 08/07/2004, 16:03
desenvolvi um script PHP para tratamento de fotos com as seguintes caracteristicas:
- Cria as fotos em 2 tamanhos (visualização e miniatuaras);
- Insere a logomarca do site e/ou marca d'água;
- Aumenta a compactação das imagens;
- Faz um "tratamento" na imagem (brilho e contraste);
- Salva os arquivos com os nomes num formato automatizado.
Gostaria de tornar o script disponível sob a seguinte condição: que fosse criado algo como uma área de implementação e melhoria do script, acho que vocês chamam isso de contest, implementar caracteristicas como: uploads automáticos, configuração em tempo de execução... etc e tal. Quem sabe até seja um sistema que todos venham a utilizar em seus sites de eventos e festas?!
O script é bem simples e esta totalmente comentado para facilitar o entendimento.
Tópico relacionado:
http://forum.wmonlin...istema de fotos
Aguardo resposta e sugestões.
Mero mortal!
#2
Posted 08/07/2004, 16:13
- Cria as fotos em 2 tamanhos (visualização e miniatuaras);
- Insere a logomarca do site e/ou marca d'água;
- Salva os arquivos com os nomes num formato automatizado.
eh bom pra ninguem roubar link de imagem
#3
Posted 08/07/2004, 16:26
Outras pessoas também devem ter, o lance é que queria incrementar mais o projeto, até por isso, já vi diversas pessoas postando atras de algo do genero ou tirando dúvidas sobre seus próprios scripts de tratamento de imagens... então, todos trabalhariamos em pró de 1 unico script, sob a licença de software livre, como um grupo de desenvolvedores... alguém afim de entrar na onda?
Mero mortal!
#4
Posted 08/07/2004, 16:57
#5
Posted 09/07/2004, 09:43
ps.: to postando pro tópico subir mesmo, goste ou não... é pro bem de todos mesmo.
Mero mortal!
#6
Posted 09/07/2004, 10:36
aguardo resposta []
#7
Posted 09/07/2004, 11:20
ue sô, então pendura esse topico !!!Parece que não houve um interesse da galera, mas ainda estou aguardando o interesse de alguns.
ps.: to postando pro tópico subir mesmo, goste ou não... é pro bem de todos mesmo.
assim num fica toda hora subindo ele !
e pode ser até + facil para a galera achar !
(OBS: se precisar de algo para melhor o script e só falar )
até + !!!
PALMEIRAS - Primeiro campeão do mundo em 1951
#8
Posted 09/07/2004, 11:27
Bom, é o seguinte. Acho que muitos aqui tem interesse em estar ajudando com o aperfeiçoamento do script e incrementá-lo. É só a galera se prontificar, que com a ajuda de todos fica bem mais fácil.
Podemos estar usando estes recursos para implementar na galeria do thiagão_rsl e deixá-la uma xxxxxx de uma galeria
tenho interesse sim em ajudar.
Entao galera, quem tá dentro ae? é só postar aqui!!
nem que seja ajuda com design, javascript.. já tá show!
a intenção é que todos ganhem com isso!
Ah, e seria interessante tb que o gbr_chacal colaborasse com o código dele tb.. sei lá, qto mais gente pra ajudar, melhor, nem q seja um pouco.
Qualquer coisa, estamos aí!
falow !
té mais
Edição feita por: Lord Spy, 09/07/2004, 12:02.
#9
Posted 09/07/2004, 11:29
Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de Deus e vai.."
#10
Posted 09/07/2004, 12:01
A intenção não é que seja simplemente um Script, e sim um aplicação.
Script:
PHP |
<?php set_time_limit(300); // taxa de compressão do JPEG $tx_compressao = 80; // imagem com logomarca e marca d`água $arq_marca = 'marca.png'; // tamanho para visualização no site $tam_orig_x = 300; $tam_orig_y = 255; // tamanho de thumbnails no site $tam_thumb_x = 65; $tam_thumb_y = 49; // correção de gamma de cores $tx_correcao = 1.6; // pasta de origem, onde o script vai carregar as imagens originais $dir = "./orig"; // pasta de destino, onde o script vai gravar as imagens geradas $dst = "./conv"; // prefixo das imagens do thumbnail $pre_thumb = "t"; // função para processos graficos da foto. function criafoto($arquivo) { global $tx_compressao, $tx_correcao, $arq_marca, $tam_orig_x, $tam_orig_y, $tam_thumb_x,$tam_thumb_y, $dir, $dst, $pre_thumb; // carrega a imagem com a marca $marca = imagecreatefrompng("$arq_marca"); $isx = imagesx($marca); $isy = imagesy($marca); // transparencia, para o exemplo, o fundo da imagem marca.png deve ser branco imagecolortransparent($marca, imagecolorallocate($marca, 0, 225, 0)); // carrega foto original $foto = imagecreatefromjpeg("$dir/$arquivo"); // gera imagens que resultarão na imagem final $final = imagecreatetruecolor($tam_orig_x, $tam_orig_y); $thumb = imagecreatetruecolor($tam_thumb_x, $tam_thumb_y); // pega o tamanho da imagem original $ifx = imagesx($foto); $ify = imagesy($foto); // copia o conteudo da imagem original para o imagem resultado final imagecopyresampled($final, $foto, 0, 0, 0, 0, $isx, $isy, $ifx, $ify); // aplica correção de gamma (brilho e contraste) imagegammacorrect($final, 1.0, $tx_correcao); // coloca a marca d`água imagecopyresampled($final, $marca, 0, 0, 0, 0, $isx, $isy, $isx, $isy); // gera thumbnail a partir da imagem final imagecopyresampled($thumb, $final, 0, 0, 0, 0, $tam_thumb_x, $tam_thumb_y, $isx, $isy); // gera foto na pasta destino imagejpeg($final, "$dst/$arquivo", $tx_compressao); // gera thumbnail na pasta destino imagejpeg($thumb, "$dst/$pre_thumb$arquivo", $tx_compressao); } // procedimento para realizar o processo para todos os arquivos da pasta configurada. if (is_dir($dir)) { if ($pasta = opendir($dir)) { while (($arq_imagem = readdir($pasta)) !== false) { if (!(($arq_imagem == ".") || ($arq_imagem == ".."))) criafoto($arq_imagem); } closedir($pasta); } } echo "concluido!"; exit; ?> |
Funcionamento do script:
- varre todos os arquivos de uma determinada pasta;
- captura a imagem original;
- transforma a imagem para 2 tamanhos, alterando a taxa de compactação;
- aplica um pequeno tratamento de gamma (brilho e contraste);
- aplica a marca e/ou marca d'água apartir de uma outra imagem, pré estabelecida;
- salva as imagens em uma outra pasta;
Como esta sendo aplicado:
- roda localmente por conta do tempo de execução do script;
- 130 fotos a 2.1mp demora cerca de 8 minutos (P3 750mhz com 128mb);
Idéias:
- implementar sistema de configuração, via MySQL, para que as caracteristicas fiquem gravadas;
- implementar sistema de upload;
Os testes foram realizados em:
- PHP 4.3.6;
- GD 2.0.22;
ps.: necessário ter permissão de escrita nas pastas.
Aguardo sugestões.
Edição feita por: Prog, 13/07/2004, 13:43.
Mero mortal!
#11
Posted 09/07/2004, 12:06
pendura o tópico ae.!!!!!
E que a força esteja com Vocês!
#12 lucianobruch
Posted 09/07/2004, 15:43
Se alguem puder me ajudar.....
#13
Posted 09/07/2004, 15:54
Execute um phpinfo() e verifique as versões.
Mero mortal!
#14 lucianobruch
Posted 09/07/2004, 16:05
Na verdade o script funcionou com o arquivo png da marca d'água original, o problema é com a criação do png personalizado, tentei fazer alguns teste aqui mas não obtive exito.Possivelmente seja algo relacionado a versão do PHP e/ou do GD que esta executando o Script. Fazendo alguns testes com o mesmo, tive problemas para utiliza-lo com o PHPTriad (instala uma versão muito antiga do PHP).
Execute um phpinfo() e verifique as versões.
#15
Posted 09/07/2004, 16:22
Mero mortal!
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)