É simples e já está comentado.. porem necessito de uma ajuda fazêlo inserir altomaticamente.
Um script de upload de 5 arquivos por vez eu não tenho, o problema é:
Enviar 5 imagens por vez via upload:
No upload, a logo é inserida automaticamente
Com possibilidade de escolher a pasta de destino das imagens.
Sem ter que mudar de pasta (imagem enviada = imagem na mesma pasta)
Para quem já utiliza, gostaria de saber também se este procedimento de inserir logos requer muito servidor, porque aqui em casa... não demora tanto.
E se é possível gerar uma nova imagem na mesma pasta de onde a imagem de origem está (sobreescrever o arquivo).
o script (que funciona beleza) é este:
<?
//config
set_time_limit(300);
// taxa de compressão do JPEG
$tx_compressao = 75;
// imagem com logomarca e marca d`água
$arq_marca_h = 'emhorizontal.png';
$arq_marca_v = 'emvertical.png';
// correção de gamma de cores
$tx_correcao = 1.0;
// pasta de origem, onde o script vai carregar as imagens originais
$dir = "./originais";
// pasta de destino, onde o script vai gravar as imagens geradas
$dst = "./convertidas";
//final config
// 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;
// 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);
// 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]);
// 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 foto na pasta destino
imagejpeg($final, "$dst/$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;
?>










