이미지 (jpg/gif/png/jpeg)에 워터 마크, 투명 배경이있는 PNG를 추가하려고합니다 ... 2 개의 파일이 있습니다 ... 첫 번째는 watermark.php입니다.이미지에 워터 마크 추가
<?php
require 'func/images.func.php';
if (isset($_FILES['image'])){
$file_name = $_FILES['image']['name'];
$file_tmp = $_FILES['image']['tmp_name'];
$name = explode('.', $file_name);
if (allowed_image($file_name) === true){
$file_name = $img_name .'.png';
watermark_image($file_tmp, 'images-watermark/uploads/' . $file_name);
} else{
echo '<p>no image, or image type not accepted.</p>';
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento senza titolo</title>
</head>
<body>
<form action="" method="POST" enctype="multipart/form-data">
Choose an image:
<input type="file" name="image" />
<input type="submit" value="watermark"/>
</form>
</body>
</html>
... 그리고 두 번째는 images.func.php입니다 :
<?php
function allowed_image($file_name){
$allow_set = array('jpg', 'jpeg', 'gif', 'png');
$file_ext = (explode('.', $file_name));
$end = end($file_ext);
return (in_array($end , $allow_set) === true) ? true : false;
}
function watermark_image($file, $destination){
$watermark = imagecreatefrompng('images-watermark/watermarkf.png');
$source = getimagesize($file);
$source_mime = $source['mime'];
if ($source_mime === 'image/png'){
$image = imagecreatefrompng($file);
}else if($source_mime === 'image/jpeg'){
$image = imagecreatefromjpeg($file);
}else if($source_mime === 'image/gif'){
$image = imagecreatefromgif($file);
}
imagecopy($image, $watermark, 70, 160, 0, 0, imagesx($watermark),imagesy($watermark));
imagepng($image, $destination);
imagedestroy($image);
imagedestroy($watermark);
}
?>
... 내 코드 (이미지가 투명 배경으로 워터 마크를 JPG/PNG/JPEG 형식으로 작동) ... GIF 이미지에서 워터 마크는 투명 배경이 아닙니다 ... 어떤 팁이 있습니까? 미리 감사드립니다.
오 와우 .. 여기에 들여 쓰기가 많이 ** 부족한 것 같습니다. 문제를 해결하기 위해 합리적인 기회를 가질 수 있도록 정리하십시오. – h2ooooooo
가능한 복제본 : http://stackoverflow.com/questions/13983557/php-add-transparent-png-to-gif-dynamically –
또한 OP에서 imagick을 사용합니까? 나는 그것이 GD –