Ir para conteúdo

POWERED BY:

Arquivado

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

priscila ricardo

[Resolvido] imagecreatefromjpeg

Recommended Posts

Estou querendo colocar uma marca d'agua em uma foto mas ao usar o comando imagecreatefromjpeg retorna o erro Resource id #7, alguém pode me ajudar?

 

O código completo é esse:

 

$arquivo = "fotos/imagem.jpeg";
$i = imagecreatefromjpeg($arquivo); 
$i2 = imagecreatefrompng("rosa.PNG"); 
imagecopymerge($i, $i2,490,350,0,0, imagesx($i2), imagesy($i2),70); //cordenas
imagejpeg($i); 
imagedestroy($i);

Compartilhar este post


Link para o post
Compartilhar em outros sites

O seu código rodou aqui sem problemas. Em qual linha está dando o erro ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu pela ajuda pessoal mas consegui resolver aqui, usei o seguinte código:

 

Esta ai pra quem quiser usar.... fui...

 

 

$arquivo = "fotos/$imagem_name";
$foto = $arquivo;
$marca= "rosa.PNG";
// Rodapé direito, veja os números correspondentes na função
$posicao="3";
// Porcentagem de transparência desejada na marca
$transparencia="60";
// Local onde a imagem pronta será armazenada
$saida= $arquivo;

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 );
}
// A função principal: misturar as duas imagens
imageCopyMerge($imagemfonte_id, $marcadagua_id, $dest_x, $dest_y, 0, 0, $marcadagua_largura, $marcadagua_altura, $transicao);

// 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";
}
else
{
return "imagejpeg";
}
}
elseif(eregi("^(.*).(png)$", $nome))
{
if($acao == "abrir")
{
return "imagecreatefrompng";
}
else
{
return "imagepng";
}
}
else
{
echo "Formato de Imagem Inválido!<br>A imagem deve ser PNG ou JPEG!";
die;
}
}
}
// Chama a função de nova imagem a ser criada
$imagem =& new marca_dagua();

// Cria a imagem de acordo com as imagens fonte, posição e transparência
$imagem->gera("$foto", "$marca", "$saida", $posicao, $transparencia);

// Imprime a imagem final com a marca, com o nome de resultado.jpg
echo "<img src=$saida border=0>";

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.