Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marcel Sartori

[Resolvido] multiUpload com Processamento da Imagem no upload.php

Recommended Posts

Olá amigos, estou usando o multiUpload (uma biblioteca de envio de arquivos em ajax, php e mysql, desenvolvida pelo Fredi Machado)

Quem quiser conhecer e baixar, acesse:http://fredimachado.com.br/category/multiupload/

 

O funcionamento é muito simples. Basta adicionar o código na página que você quer, que o sistema faz o upload dos arquivos. Cada foto (pelo que pude perceber) é processada individualmente por um arquivo upload.php.

Juntamente com o multiUpload, tem uma biblioteca de processamento de imagens a WideImage mas não funciona muito bem com marca d'agua, e queria usar um script que encontrei no www.php.net.

 

Tenho uma questão que tá me matando aqui!

 

Tenho um sistema de eventos que eu mesmo criei, e estou utilizando o multiupload para enviar as fotos.

A questão é a seguinte. Já utilizei a WideImage para manipular as imagens, mas quando utilizo a opção dela de criar a foto redimensionada com uma watermark, a foto fica super pesada. Em um teste, sem a marca d’agua a foto ficou com 40kb com a marca d’agua, chegou a pesar mais de 200kb a mesma foto.

 

Eu pesquisei bastante e consegui uma forma de adicionar uma marca d’agua, e a imagem ficar “leve”, e tô quebrando a cabeça para colocar este cósigo no upload.php. Tem como me ajudar? o código tá a seguir:

 

//Recebe o nome do arquivo original
$nome_arquivo = $_FILES['Filedata'];

    //Nomes dos Arquivos
    $logo_file = "marca2.png"; //marca principal
    $logo_file2 = "marca1.png"; //marca secundária
    $image_file = "$nome_arquivo"; //imagem original
    $targetfile = "processadas/wm_$nome_arquivo"; //imagem final na pasta processadas

    // Imagem
    $photo = imagecreatefromjpeg($image_file);
    $fotoW = imagesx($photo);
    $fotoH = imagesy($photo);
 
    //logomarca1
    $logoImage = imagecreatefrompng($logo_file);
    $logoW = imagesx($logoImage);
    $logoH = imagesy($logoImage); 

    //logomarca2
    $logoImage2 = imagecreatefrompng($logo_file2);
    $logo2W = imagesx($logoImage2);
    $logo2H = imagesy($logoImage2); 

    //Cria uma imagem intermediária
    $photoFrame = imagecreatetruecolor($fotoW,$fotoH);
    $dest_x = $fotoW - $logoW;
    $dest_y = (($fotoH - $logoH) - 10);

    //Carimba a marca d'agua 1 - LOGO - na imagem
    imagecopyresampled($photoFrame, $photo, 0, 0, 0, 0, $fotoW, $fotoH, $fotoW, $fotoH);
    imagecopy($photoFrame, $logoImage, $dest_x, $dest_y, 0, 0, $logoW, $logoH);

    //Carimba a arca d'agua 2 - site - na imagem já carimbada com a logo
    imagecopy($photoFrame, $logoImage2, 5, 5, 0, 0, $logo2W, $logo2H);
    imagejpeg($photoFrame, $targetfile);
Como disse queria que esse script rodasse dentro do upload.php para processar as fotos. Tem como me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom galera, eu agradeço a todos que olharam o tópico, mas estou fechando-o, pois já consegui a solução do meu problema.

Eu fiz o tratamento da imagem, a princípio pelo WideImage, depois utilizando o próprio WideImage, capturei novamente a imagem, e marquei as marca d'aguas necessárias.

 

Quem tiver afim de usar o multiUpload, eu recomendo.

 

Abraços, e como sempre, qualquer dúvida, estamos aí!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.