Jump to content


Photo

Script De Tratamento De Fotos


  • Faça o login para participar
115 replies to this topic

#16 Danilo22

Danilo22

    12 Horas

  • Usuários
  • 199 posts
  • Sexo:Não informado

Posted 10/07/2004, 11:50

galera eu acho muito valida a ideia de vcs, tipow agente podia da um implementada na galeria brasil, tipow, coloca ela com banco de dados... fazer mais algumas alteraçoes.... nao sie.. eh uma ideia... mas to dentro pra ajuda vcs... blz???

#17 douglas.ck

douglas.ck

    Ativo

  • Usuários
  • 390 posts
  • Sexo:Masculino

Posted 10/07/2004, 12:03

olá!

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 Marcão

Marcão

    Marcãaaaaaaaao

  • Usuários
  • 1754 posts
  • Sexo:Não informado
  • Interesses:Faixa preta de Muay-Thay<br>Faixa Roxa de Jiu-Jitsu<br>:D<br>Um dia eu chego lá

Posted 12/07/2004, 09:37

ei Prog,li em um dos post:
"ele varre a pasta e pega as imagens"
ele varre uma pasta do sistema operacional?? ou uma pasta do servidor??
Marcão -=- PHP é coisa de MESTRE e falo mais nada -=-
Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de
Deus e vai.."

#19 Prog

Prog

    ...

  • Ex-Admins
  • 3761 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro/RJ
  • Interesses:TI, Software Livre, Design Digital e Rock'n'Roll.

Posted 13/07/2004, 09:58

"Varre" uma pasta qualquer.

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 Prog

Prog

    ...

  • Ex-Admins
  • 3761 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro/RJ
  • Interesses:TI, Software Livre, Design Digital e Rock'n'Roll.

Posted 13/07/2004, 13:41

obs.: Versão atualizada no dia 16/07/2004, olhar restante dos posts.

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 Prog

Prog

    ...

  • Ex-Admins
  • 3761 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro/RJ
  • Interesses:TI, Software Livre, Design Digital e Rock'n'Roll.

Posted 16/07/2004, 11:33

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
------
Mero mortal!

#22 ThalesWeb

ThalesWeb

    Veterano

  • Usuários
  • 1435 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 16/07/2004, 13:05

Opa, to dentro!
Thales Santos

#23 Prog

Prog

    ...

  • Ex-Admins
  • 3761 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro/RJ
  • Interesses:TI, Software Livre, Design Digital e Rock'n'Roll.

Posted 16/07/2004, 13:29

Aqueles que se interessarem em fazer qualquer tipo de contribuição, seja com idéias, criticas e/ou defeitos que sejam detectados, serão muito bem vindas.
------
Mero mortal!

#24 BJ-AMARAL

BJ-AMARAL

    12 Horas

  • Usuários
  • 136 posts
  • Sexo:Não informado
  • Interesses:&quot;Tudo é pouco na vida&quot;

Posted 16/07/2004, 13:34

E ai prog, eu peguei seu escript mais quando ele fazar o Thumb as imagens aprece o logo e o fundo branco o que pode ser
<< Utilidades >>
- PHP
- HTML
- XHTML
- XML
- XSL
- DTD
- JAVA SCRIPT
- MYSQL
- COREL
- FIREWORKS
- DREAMWEAVER
- FLASH
- FIREWALL
- DELPHI

<< fim >>

#25 Prog

Prog

    ...

  • Ex-Admins
  • 3761 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro/RJ
  • Interesses:TI, Software Livre, Design Digital e Rock'n'Roll.

Posted 16/07/2004, 13:43

Qual versão do PHP esta instalada?
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 BJ-AMARAL

BJ-AMARAL

    12 Horas

  • Usuários
  • 136 posts
  • Sexo:Não informado
  • Interesses:&quot;Tudo é pouco na vida&quot;

Posted 16/07/2004, 14:02

E ai prog

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
<< Utilidades >>
- PHP
- HTML
- XHTML
- XML
- XSL
- DTD
- JAVA SCRIPT
- MYSQL
- COREL
- FIREWORKS
- DREAMWEAVER
- FLASH
- FIREWALL
- DELPHI

<< fim >>

#27 ThalesWeb

ThalesWeb

    Veterano

  • Usuários
  • 1435 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 16/07/2004, 14:04

E ai prog

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

Mostra a parte do info que fala sobre GD-Library.
Thales Santos

#28 Prog

Prog

    ...

  • Ex-Admins
  • 3761 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro/RJ
  • Interesses:TI, Software Livre, Design Digital e Rock'n'Roll.

Posted 16/07/2004, 14:11

Exemplo da info, neste caso, com PHP5:

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 BJ-AMARAL

BJ-AMARAL

    12 Horas

  • Usuários
  • 136 posts
  • Sexo:Não informado
  • Interesses:&quot;Tudo é pouco na vida&quot;

Posted 16/07/2004, 14:36

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
<< Utilidades >>
- PHP
- HTML
- XHTML
- XML
- XSL
- DTD
- JAVA SCRIPT
- MYSQL
- COREL
- FIREWORKS
- DREAMWEAVER
- FLASH
- FIREWALL
- DELPHI

<< fim >>

#30 ThalesWeb

ThalesWeb

    Veterano

  • Usuários
  • 1435 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 16/07/2004, 14:39

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

Pelo visto está ok, está habilitada, versão 2.0... Estranho não funcionar.
Thales Santos




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq