
Script De Tratamento De Fotos
#16
Posted 10/07/2004, 11:50
#17
Posted 10/07/2004, 12:03
aos colegas.... eu preciso de ajuda em um sistema mais simples... vejam o tópico: http://forum.wmonlin...T&f=120&t=79098, por favor se puderem me dar uma mão, agradeço muito!!
obrigado a todos.
#18
Posted 12/07/2004, 09:37
"ele varre a pasta e pega as imagens"
ele varre uma pasta do sistema operacional?? ou uma pasta do servidor??
Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de Deus e vai.."
#19
Posted 13/07/2004, 09:58
Há uma retificação a ser feita, sobre o post abaixo:
A imagem PNG eu criei usando o Photoshop, salvei com formato de 24bits sem transparencia, para este script, o fundo da imagem tem que ser branco, para que ele funciona com outro fundo, é necessário alterar alguns parametros.
O certo é da seguinte maneira:
A imagem PNG eu criei usando o Photoshop, salvei com formato de 24bits COM transparencia e outros efeitos alpha, como a marca d'água.
Mero mortal!
#20
Posted 13/07/2004, 13:41
Segue atualização, o arquivo para download também foi atualizado.
PHP |
<?php require('config.php'); // função para processos graficos da foto. function criafoto($arquivo) { global $tx_compressao, $tx_correcao, $arq_marca_h, $arq_marca_v, $dir, $dst, $per_thumb, $pre_thumb; // carrega apenas para capturar as dimensões $tam = imagecreatefrompng("$arq_marca_h"); $thumbx = ((imagesx($tam)*$per_thumb)/100); $thumby = ((imagesy($tam)*$per_thumb)/100); // formata o tamanho para o thumbnail e se esta na vertical ou na horizontal if ($thumbx > $thumby) { $px = $thumbx; $py = $thumby; $marca = imagecreatefrompng("$arq_marca_h"); } else { $px = $thumby; $py = $thumbx; $marca = imagecreatefrompng("$arq_marca_v"); } // carrega a imagem com a 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)); // gera imagens que resultarão na imagem final $final = imagecreatetruecolor($isx, $isy); $thumb = imagecreatetruecolor($px, $py); // carrega foto original $foto = imagecreatefromjpeg("$dir/$arquivo"); // copia o conteudo da imagem original para o imagem resultado final imagecopyresampled($final, $foto, 0, 0, 0, 0, $isx, $isy, 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, $isx, $isy, $isx, $isy); // gera thumbnail a partir da imagem final imagecopyresampled($thumb, $final, 0, 0, 0, 0, $px, $py, $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; ?> |
Caracteristicas implementadas:
- as fotos são tratadas tanto na horizontal como na vertical;
- o tamanho do thumbnail agora é calculado apartir de uma porcentagem;
- otimização na utilização das variáveis (menor quantidade);
- inclusão do arquivo de configuração.
Edição feita por: Prog, 16/07/2004, 11:35.
Mero mortal!
#21
Posted 16/07/2004, 11:33
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; ?> |
Mero mortal!
#22
Posted 16/07/2004, 13:05
#23
Posted 16/07/2004, 13:29
Mero mortal!
#24
Posted 16/07/2004, 13:34
- PHP
- HTML
- XHTML
- XML
- XSL
- DTD
- JAVA SCRIPT
- MYSQL
- COREL
- FIREWORKS
- DREAMWEAVER
- FLASH
- FIREWALL
- DELPHI
<< fim >>
#25
Posted 16/07/2004, 13:43
Esta rodando GD2?
Esta usando as imagens originais do script ou alterou alguma?
Não aparece nenhuma mensagem de erro?
Para saber todas as informações a respeito da versão do PHP que esta rodando:
PHP |
<?php phpinfo(); ?> |
Para alterar qualquer configuração do PHP (Windows):
O arquivo PHP.INI situa-se na pasta do sistema operacional, geralmente:
C:\WINNT ou C:\WINDOWS
Para Linux, em muitas das ocasiões, será necessário recompilar.
Ex.: rodar PHP com Firebird.
As imagens eu gerei usando Photoshop CS, salvando para WEB, formato PNG com fundo transparente, é necessário que a imagem siga este padrão, o software de editoração pode ser um de sua preferencia.
Mero mortal!
#26
Posted 16/07/2004, 14:02
meu info e
System Windows 95/98 4.10
Build Date Apr 20 2002 18:36:03
Server API Apache
Virtual Directory Support enabled
Configuration File (php.ini) Path C:\WINDOWS\php.ini
Debug Build no
Thread Safety enabled
ele não da erro nenhum ele cria normalmente, mais quando vc visualiza a foto ela so aparece a logo marca da unimed com o fundo branco
- PHP
- HTML
- XHTML
- XML
- XSL
- DTD
- JAVA SCRIPT
- MYSQL
- COREL
- FIREWORKS
- DREAMWEAVER
- FLASH
- FIREWALL
- DELPHI
<< fim >>
#27
Posted 16/07/2004, 14:04
Mostra a parte do info que fala sobre GD-Library.E ai prog
meu info eSystem Windows 95/98 4.10
Build Date Apr 20 2002 18:36:03
Server API Apache
Virtual Directory Support enabled
Configuration File (php.ini) Path C:\WINDOWS\php.ini
Debug Build no
Thread Safety enabled
ele não da erro nenhum ele cria normalmente, mais quando vc visualiza a foto ela so aparece a logo marca da unimed com o fundo branco
#28
Posted 16/07/2004, 14:11
gd
GD Support enabled
GD Version bundled (2.0.23 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.1.5
GIF Read Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled
Mero mortal!
#29
Posted 16/07/2004, 14:36
Da uma olhada no meu aqui,
GD Support enabled
GD Version 2.0 or higher
FreeType Support enabled
FreeType Linkage with freetype
JPG Support enabled
PNG Support enabled
WBMP Support enabled
ve se esse da
- PHP
- HTML
- XHTML
- XML
- XSL
- DTD
- JAVA SCRIPT
- MYSQL
- COREL
- FIREWORKS
- DREAMWEAVER
- FLASH
- FIREWALL
- DELPHI
<< fim >>
#30
Posted 16/07/2004, 14:39
Pelo visto está ok, está habilitada, versão 2.0... Estranho não funcionar.E ai prog,
Da uma olhada no meu aqui,GD Support enabled
GD Version 2.0 or higher
FreeType Support enabled
FreeType Linkage with freetype
JPG Support enabled
PNG Support enabled
WBMP Support enabled
ve se esse da
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)