É 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; ?>