Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal é o seguinte, eu peguei esse codigo aqui pronto, ele fuciona perfeitamente.
Mas eu tenho um sistema de cadastro de eventos onde sao enviadas fotos. E queria saber de voces se tem como fazer para quando a pessoa fizer upload ele faça esse comando ai..
Ou seja ele coloque a logomarca na foto upada.
SEGUE O CODIGO
<?php
//endereço da foto
$foto = "hanna.jpg";
//endereço da logomarca
$marca="logo.png";
// Rodapé direito, veja os números correspondentes na função
$posicao="3";
// Porcentagem de transparência desejada na marca
$transparencia="80";
//para gerar o nome da foto, se on gera aleatório se off gera com prefixo
$new = "off";
//gera um nome aleatório para a foto
if($new == "on")
{
$alterna = mt_rand(0, 30);
$novonome = $alterna.time();
}
//gera um nome para a foto, como o nome atual e um prefixo
else{
$novonome = "nova_$foto";
}
// Local onde a imagem pronta será armazenada
$novonome = $novonome.".jpg";
class marca_dagua
{
// Construtor, verifica se a biblioteca GD tá no sistema
function marca_dagua()
{
// Verifica se há biblioteca GD no PHP
if(!function_exists("ImageCreateTrueColor")) // GD versão 2.*
{
if(!function_exists("ImageCreate")) // GD versão 1.*
{
echo "Você não possui a biblioteca GD carregada no PHP!";
exit;
}
}
}
// Começamos a criar a marca com a função Gera
function gera($imagemfonte, $marcadagua, $imagemdestino, $pos = 0, $transicao = 100)
{
// Obtém o cabeçalho de ambas as imagens
$funcao = $this->verifica_tipo($marcadagua, "abrir");
$marcadagua_id = $funcao($marcadagua);
$funcao = $this->verifica_tipo($imagemfonte, "abrir");
$imagemfonte_id = $funcao($imagemfonte);
// Obtém os tamanhos de ambas as imagens
$imagemfonte_data = getimagesize($imagemfonte);
$marcadagua_data = getimagesize($marcadagua);
$imagemfonte_largura = $imagemfonte_data[0];
$imagemfonte_altura = $imagemfonte_data[1];
$marcadagua_largura = $marcadagua_data[0];
$marcadagua_altura = $marcadagua_data[1];
// Aqui, defini-se a posição onde a marca deve aparecer na foto
// Centralizado
if( $pos == 0 )
{
$dest_x = ( $imagemfonte_largura / 2 ) - ( $marcadagua_largura / 2 );
$dest_y = ( $imagemfonte_altura / 2 ) - ( $marcadagua_altura / 2 );
}
// Topo Esquerdo
if( $pos == 1 )
{
$dest_x = 0;
$dest_y = 0;
}
// Topo Direito
if( $pos == 2 )
{
$dest_x = $imagemfonte_largura - $marcadagua_largura;
$dest_y = 0;
}
// Rodapé Direito
if( $pos == 3 )
{
$dest_x = ($imagemfonte_largura - $marcadagua_largura) - 5;
$dest_y = ($imagemfonte_altura - $marcadagua_altura) - 5;
}
// Rodapé Esquerdo
if( $pos == 4 )
{
$dest_x = 0;
$dest_y = $imagemfonte_altura - $marcadagua_altura;
}
// Topo Centralizado
if( $pos == 5 )
{
$dest_x = ( ( $imagemfonte_largura - $marcadagua_largura ) / 2 );
$dest_y = 0;
}
// Centro Direito
if( $pos == 6 )
{
$dest_x = $imagemfonte_largura - $marcadagua_largura;
$dest_y = ( $imagemfonte_altura / 2 ) - ( $marcadagua_altura / 2 );
}
// Rodapé Centralizado
if( $pos == 7 )
{
$dest_x = ( ( $imagemfonte_largura - $marcadagua_largura ) / 2 );
$dest_y = $imagemfonte_altura - $marcadagua_altura;
}
// Centro Esquerdo
if( $pos == 8 )
{
$dest_x = 0;
$dest_y = ( $imagemfonte_altura / 2 ) - ( $marcadagua_altura / 2 );
}// Cria a imagem com a marca da agua
$funcao = $this->verifica_tipo($imagemdestino, "salvar");
$funcao($imagemfonte_id, $imagemdestino, 100);
}
// Verifica o tipo da imagem e retorna a função para uso
function verifica_tipo($nome, $acao)
{
if(eregi("^(.*)\.(jpeg|jpg)$", $nome))
{
if($acao == "abrir")
{
return "imageCreateFromJPEG";
}return "imagejpeg";
}
}return "imageCreateFromPNG";
}return "imagepng";
}
}echo "Formato de Imagem Inválido!";
die;
}
}
}// Cria a imagem de acordo com as imagens fonte, posição e transparência
$imagem->gera("$foto", "$marca", "$novonome", $posicao, $transparencia);
// Imprime a imagem final com a marca, com o nome de resultado.jpg
echo "<img src=\"$novonome\" border=0>";
?>Carregando comentários...