Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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);Carregando comentários...