Ir para conteúdo

POWERED BY:

Arquivado

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

Marcel Sartori

multiUpload com Processamento da Imagem

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

é só jogar esse código lá no arquivo... posta o teu upload.php

 

vou mover para php, pq não tem nada de ajax em si na dúvida

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.