Script De Tratamento De Fotos
#31
Posted 16/07/2004, 14:49
Infelizmente não tenho versões antigas do PHP para efetuar testes, informe a versão do seu PHP para que seja incluído, caso persista o não funcionamento, na lista de versões incompativeis.
A versão mais antiga que temos em produção aqui no trabalho é a 4.3.6, com GD 2.0.22. Isto inclui servidores Windows e Linux.
Mero mortal!
#32
Posted 16/07/2004, 15:37
Atualizações e acertos de bugs:
ps.: funciona perfeitamente no PHP5.
PHP |
<?php require('config.php'); // calcula e informa o tamanho do thumbail function detecta_tamanho_thumbnail($img) { global $per_thumb; $vetor[0] = floor((imagesx($img)*$per_thumb)/100); $vetor[1] = floor((imagesy($img)*$per_thumb)/100); return $vetor; } // calcula e informa o tamanho da foto para visualização function detecta_tamanho_visualiza($img) { $vetor[0] = imagesx($img); $vetor[1] = imagesy($img); return $vetor; } // função para processos graficos da foto. function criafoto($arquivo) { global $tx_compressao, $tx_correcao, $arq_marca_h, $arq_marca_v, $dir, $dst, $pre_thumb; // carrega foto original $foto = imagecreatefromjpeg("$dir/$arquivo"); // determina o posicionamento da foto, vertical ou horizontal if (imagesx($foto) > imagesy($foto)) { // imagem da marca horizontal $marca = imagecreatefrompng("$arq_marca_h"); } else { // imagem da marca vertical $marca = imagecreatefrompng("$arq_marca_v"); } // carrega o tamanho da imagem para visualização $tamV = detecta_tamanho_visualiza($marca); // captura o tamanho da imagem para thumbnail $tamT = detecta_tamanho_thumbnail($marca); // transparencia, para o exemplo, o fundo da imagem marca.png deve ser branco imagecolortransparent($marca, imagecolorallocate($marca, 0, 225, 0)); // gera imagens que resultarão na imagem final $final = imagecreatetruecolor($tamV[0], $tamV[1]); $thumb = imagecreatetruecolor($tamT[0], $tamT[1]); // copia o conteudo da imagem original para o imagem resultado final imagecopyresampled($final, $foto, 0, 0, 0, 0, $tamV[0], $tamV[1], imagesx($foto), imagesy($foto)); // aplica correção de gamma (brilho e contraste) imagegammacorrect($final, 0.9, $tx_correcao); // coloca a marca d`água imagecopyresampled($final, $marca, 0, 0, 0, 0, $tamV[0], $tamV[1], $tamV[0], $tamV[1]); // gera thumbnail a partir da imagem final imagecopyresampled($thumb, $final, 0, 0, 0, 0, $tamT[0], $tamT[1], $tamV[0], $tamV[1]); // 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; ?> |
Download do Script (clique botão direito e Salvar como...)
http://www.fixe.com....ditor-0.0.3.zip ae prog... to meio por fora ae, mas agora vo me interar...
tipow esse script aqui eh a parte toda do q vc desenvolveu???
tenho umas ideias ae q to vendo se funfa e logo te falo blz???
#33
Posted 16/07/2004, 15:44
Nenhuma caracteristica adicional foi acrescentada.
* Estou estudando a possibilidade de criar uma classe.
Mero mortal!
#34
Posted 16/07/2004, 16:20
o editor faz tudo certinho, faz os thumb mais ,mais o fundo fica quanco não aparece a imagem
- PHP
- HTML
- XHTML
- XML
- XSL
- DTD
- JAVA SCRIPT
- MYSQL
- COREL
- FIREWORKS
- DREAMWEAVER
- FLASH
- FIREWALL
- DELPHI
<< fim >>
#35
Posted 16/07/2004, 16:21
- PHP
- HTML
- XHTML
- XML
- XSL
- DTD
- JAVA SCRIPT
- MYSQL
- COREL
- FIREWORKS
- DREAMWEAVER
- FLASH
- FIREWALL
- DELPHI
<< fim >>
#36
Posted 16/07/2004, 16:25
pode ser este comando que esteja errado, vc não tem outro que faz a mesma coisa
imagecolortransparent($marca, imagecolorallocate($marca, 0, 225, 0));
- PHP
- HTML
- XHTML
- XML
- XSL
- DTD
- JAVA SCRIPT
- MYSQL
- COREL
- FIREWORKS
- DREAMWEAVER
- FLASH
- FIREWALL
- DELPHI
<< fim >>
#37
Posted 17/07/2004, 11:41
Esta usando as imagens originais do script ou alterou alguma?
Não aparece nenhuma mensagem de erro?
Mero mortal!
#38
Posted 19/07/2004, 21:53
tava pensando em fazer tipow, foto mensagem, o usuario comentar cada foto da galeria... com contador de click em cada foto... exibindo as 10 mais clicadas.....
tipow, no estilo da galeria brasil, mas com as implementaçoes da tua e mais esses recursos....
o que vcs acham da gente desenvolver algo assim???
pq com isso ficaria a galeria de foto mais file??? o q vcs acham??? se toparem vamos começar a desenvolver logo...
blz????
fuizzz
#39
Posted 19/07/2004, 22:20
- PHP
- HTML
- XHTML
- XML
- XSL
- DTD
- JAVA SCRIPT
- MYSQL
- COREL
- FIREWORKS
- DREAMWEAVER
- FLASH
- FIREWALL
- DELPHI
<< fim >>
#40
Posted 19/07/2004, 22:22
To usando imagens originais que vc vez se alterar nem abri ele.
E não da erro nenhum ela cria os Thumbs mais ela o fundo da foto fica branco com a logomarca
- PHP
- HTML
- XHTML
- XML
- XSL
- DTD
- JAVA SCRIPT
- MYSQL
- COREL
- FIREWORKS
- DREAMWEAVER
- FLASH
- FIREWALL
- DELPHI
<< fim >>
#41
Posted 19/07/2004, 23:22
------------------------------------------------------------------------
http;//www.portalcipo.com.br
------------------------------------------------------------------------
Tudo aquilo que realmente e nosso nunca se vai para sempre.
#42
Posted 19/07/2004, 23:24
------------------------------------------------------------------------
http;//www.portalcipo.com.br
------------------------------------------------------------------------
Tudo aquilo que realmente e nosso nunca se vai para sempre.
#43
Posted 20/07/2004, 03:27
#44
Posted 20/07/2004, 08:26
realmente não existe nada que implicitamente mostre o tamanho o seu documento, esse tamanho ele pega da imagem PNG, ou seja, o tamanho que sua imagem PNG tiver, será o tamanho das suas fotos.
PHP |
<?php ... // calcula e informa o tamanho da foto para visualização function detecta_tamanho_visualiza($img) { $vetor[0] = imagesx($img); $vetor[1] = imagesy($img); return $vetor; } ... // carrega o tamanho da imagem para visualização $tamV = detecta_tamanho_visualiza($marca); ... ?> |
Neste caso, $marca equivale a imagem que contém a marca d'água.
Esta caracteristica foi adotada somente para economizar o uso de variáveis.
Ps.: se necessário, o script pode ser implementado para que funcione com porcentagem da imagem original.
Mero mortal!
#45
Posted 20/07/2004, 08:43
Como dito desde o inicio, o script foi criado desta forma por uma necessidade de converter mais de 100 fotos de uma unica vez, e tal processamento gerou as 100 fotos, com seus 100 thumbnails em pouco mais de 8 minutos... considerei esta meta excelente, afinal, meu sócio ia demorar, pelo menos, uma hora para editar todas as 100 fotos, mesmo usando seus recursos de actions do Photoshop, o trabalho ia ser bem demorado.
Se o script for adaptado para se trabalhar com Banco de Dados, teria que ser vista uma determinada metodologia especifica para esta funcionalidade, afinal, a intenção do script é sim criar galerias, mas não torna-las disponiveis tudo em 1 processo apenas... se alguem tiver uma idéia de como poderia ser feito este processo. Vou fazer uma pergunta, se alguem tiver a resposta...
Como "uploadear" mais de 100 imagens, tratar, colocar a marca d'água, gravar em banco de dados, tanto a imagem grande como a imagem pequena e separar em galerias distintas, tudo isso no melhor tempo de processamento possivel e numa interface bem intuitiva???
Resposta possível:
O processo de tratamento pode ser em tempo de execução, no momento do upload, isso faria com que a imagem passasse por 1 processo apenas, sem gerar o thumbnail (isso faria economia de banco de dados)... o thumbnail seria gerado no momento de visualizar a galeria.
Problemas:
Não tenho idéia para solucionar de forma rápida o upload das imagens, além do que, isto seria um processo bem lento, uma vez que a imagem que esta sendo enviada é a imagem originas, ou seja, se esta imagem for de 2.1mp, ela deve ter em torno de 300kb, multiplicando isso por 100................. lento.
Mero mortal!
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)