Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite pessoal,
Quero colocar uma marca d'agua na minha foto ao enviar ela para o servidor, porém estou com problemas.
Alguém sabe me dizer como fazer para funcionar.. Segue o código
$foto = $_FILES['img'];
$numFile = count(array_filter($foto['name']));
$folder = 'imagem/';
$permite = array('image/jpeg', 'image/png', 'image/jpg');
if ($numFile <= 0) {
echo "<script language='javascript'>
alert('Selecione uma imagem!');
window.location.href = 'cadastro.php'
</script>";
} else {
for ($i = 0; $i < $numFile; $i++) {
$name = $foto['name'][$i];
$type = $foto['type'][$i];
$size = $foto['size'][$i];
$error = $foto['error'][$i];
$tmp = $foto['tmp_name'][$i];
$extensao = @end(explode('.', $name));
$novoNome = rand() . ".$extensao";
if ($error != 0) {
echo "Ocorreu um erro, entre em contato com o administrador!";
break;
} elseif (!in_array($type, $permite)) {
echo "Erro imagem não suportada!";
break;
} else {
if (move_uploaded_file($tmp, $folder . $novoNome)) {
#variavel que recebe a url/caminho da imagem
$filename ="image/".$novoNome;
#dados da mascara [caminho do arquivo que serve de mascara]
$marca = "marca/marca.gif";
$imagem_marca = ImageCreateFromGif($marca);
$pontoX1 = ImagesX($imagem_marca);
$pontoY1 = ImagesY($imagem_marca);
#recupera as dimensoes da imagem
list($width, $height) = getimagesize($filename);
#definindo tamanho padrão para as fotos
$new_width = 300;
$new_height = 250;
#redesenhando a imagem
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
#Habilitando a opcao abaixo irá criar a mascara com a imagem marca d’agua
ImageCopyMerge($image_p, $imagem_marca, 160, 90, 0, 0, $pontoX1, $pontoY1, 80);
imagejpeg($image_p, $folder , 100);
imagedestroy($image_p);
} else {
echo 'Ocorreu um erro, a imagem não foi salva. Entre em contato com o administrador.';
break;
}
} else {
echo 'Ocorreu um erro, imagem não foi movida. Entre em contato com o administrador.';
break;
}
}
}
Desde já obrigado!
Carregando comentários...