Jump to content


Photo

Script De Tratamento De Fotos


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

#31 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:49

Como eu perguntei... fez alguma alteração da imagem da marca d'água?

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 Danilo22

Danilo22

    12 Horas

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

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 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, 15:44

Esse é o script completo, a única parte adicional ao script que não ta aí é o arquivo de config.php, mas se você fizer download do .ZIP, o script é completo.

Nenhuma caracteristica adicional foi acrescentada.

* Estou estudando a possibilidade de criar uma classe.
------
Mero mortal!

#34 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, 16:20

Prog,

o editor faz tudo certinho, faz os thumb mais ,mais o fundo fica quanco não aparece a imagem
<< Utilidades >>
- PHP
- HTML
- XHTML
- XML
- XSL
- DTD
- JAVA SCRIPT
- MYSQL
- COREL
- FIREWORKS
- DREAMWEAVER
- FLASH
- FIREWALL
- DELPHI

<< fim >>

#35 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, 16:21

fica branco
<< Utilidades >>
- PHP
- HTML
- XHTML
- XML
- XSL
- DTD
- JAVA SCRIPT
- MYSQL
- COREL
- FIREWORKS
- DREAMWEAVER
- FLASH
- FIREWALL
- DELPHI

<< fim >>

#36 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, 16:25

Prog,

pode ser este comando que esteja errado, vc não tem outro que faz a mesma coisa

imagecolortransparent($marca, imagecolorallocate($marca, 0, 225, 0));
<< Utilidades >>
- PHP
- HTML
- XHTML
- XML
- XSL
- DTD
- JAVA SCRIPT
- MYSQL
- COREL
- FIREWORKS
- DREAMWEAVER
- FLASH
- FIREWALL
- DELPHI

<< fim >>

#37 Prog

Prog

    ...

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

Posted 17/07/2004, 11:41

Se puder responder as questões que foram feitas, fica mais facil para tentar resolver o problema.

Esta usando as imagens originais do script ou alterou alguma?
Não aparece nenhuma mensagem de erro?

------
Mero mortal!

#38 Danilo22

Danilo22

    12 Horas

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

Posted 19/07/2004, 21:53

dae prog blz/??? esse teu script grava as fotos em bd??

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

BJ-AMARAL

    12 Horas

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

Posted 19/07/2004, 22:20

E ai cara, não e me metendo mais ja falando, este escript e so um editor não uma galeria de fotos.
<< Utilidades >>
- PHP
- HTML
- XHTML
- XML
- XSL
- DTD
- JAVA SCRIPT
- MYSQL
- COREL
- FIREWORKS
- DREAMWEAVER
- FLASH
- FIREWALL
- DELPHI

<< fim >>

#40 BJ-AMARAL

BJ-AMARAL

    12 Horas

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

Posted 19/07/2004, 22:22

E ai prog blz.

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

<< fim >>

#41 Tullius

Tullius

    12 Horas

  • Usuários
  • 244 posts
  • Sexo:Não informado
  • Localidade:Belo Horizonte

Posted 19/07/2004, 23:22

BJ-AMARAL o prog esta perguntando se vc fez alguma modificaçào na foto que vc esta usando pelo prog, se estiver o erro pode ser este, tenta usar o script com uma foto que não foi tratada.
www.triexinformatica.com.br
------------------------------------------------------------------------
http;//www.portalcipo.com.br
------------------------------------------------------------------------
Tudo aquilo que realmente e nosso nunca se vai para sempre.

#42 Tullius

Tullius

    12 Horas

  • Usuários
  • 244 posts
  • Sexo:Não informado
  • Localidade:Belo Horizonte

Posted 19/07/2004, 23:24

Ae galera, não endendo muito de PHP, mais to com muita força de vontade de aprender, acho uma otima ideia a turma toda ajudar a melhorar este script , vou ajudar no que posso.
www.triexinformatica.com.br
------------------------------------------------------------------------
http;//www.portalcipo.com.br
------------------------------------------------------------------------
Tudo aquilo que realmente e nosso nunca se vai para sempre.

#43 phpget

phpget

    Novato no fórum

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

Posted 20/07/2004, 03:27

olá galera, gostaria de saber se tem como eu decidir o tamanho da foto a ser gerada pois eu tiro foto em modo VGA 640x480 e quando rodo no script de tratamento ela cai pra 55% do tamanho original indo pra 355x266 e eu preciso dela em 80% que seria 512x384, acho que deu pra entender.......tem como fazer isso?????, pois não achei nada semelhante a 55% ou algo fácil de visualizar que faz a montagem do tamanho, ou vcs me desculpem pois estou ficando meio cego, mas creio que não....... :huh: :unsure:

#44 Prog

Prog

    ...

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

Posted 20/07/2004, 08:26

phpget...

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 Prog

Prog

    ...

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

Posted 20/07/2004, 08:43

Para as contribuições seria interessante também que as pessoas interessadas postassem códigos para realização de testes.

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)

IPB Skin By Virteq