워터마크 png파일 적용 채택완료
안녕하세요
https://sir.kr/g5_tip/2896">https://sir.kr/g5_tip/2896 워터마크를 적용해서 사용중인데
gif 파일만 적용되고 png는 적용이되지않고있습니다.
png파일도 워터마크에 삽입되게 할수있는 방법좀 알려주세요 ㅜㅜ
</p>
<p>write_update.skin.php ---------------
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
//워터마크 넣기
//png는 안됨, jpg 원본 사용해야함
//$transparency 워터마크 투명도
//$jpegQuality 화질
if ($mark == 1){ //
function waterMark($fileInHD, $wmFile, $transparency = 90, $jpegQuality = 90) {
$wmImg = imageCreateFromGIF($wmFile);
$jpegImg = imageCreateFromJPEG($fileInHD);
$wmX=imageSX($jpegImg) - imageSX($wmImg);
$wmY=imageSY($jpegImg) - imageSY($wmImg);
imageCopyMerge($jpegImg, $wmImg, $wmX, $wmY, 0, 0, imageSX($wmImg), imageSY($wmImg), $transparency);
ImageJPEG($jpegImg, $fileInHD, $jpegQuality);
}
$data_path = G5_PATH."/data/file/$bo_table"; //서버경로임
$thumb_path = $data_path.'/thumb';
$sql=" select * from $g5[board_file_table] where bo_table = '$bo_table' and wr_id = '$wr_id' order by bf_no asc";
$results = sql_query($sql);
for ($i=0; $row=sql_fetch_array($results); $i++) {
$file = $data_path .'/'. $row[bf_file];
if ($_FILES[bf_file][name][$i]){
waterMark($file,$board_skin_path."/img/logo_mark.gif"); // 요거 추가됨 윈본이미지우측하단에 로고를 붙이자, gif 만 됨
}
if ($i==0 && $_FILES[bf_file][name][0]){
if (preg_match("/\.(jp[e]?g|gif|png)$/i", $file)) {
$size = getimagesize($file);
if ($size[2] == 1)
$src = imagecreatefromgif($file);
else if ($size[2] == 2)
$src = imagecreatefromjpeg($file);
else if ($size[2] == 3)
$src = imagecreatefrompng($file);
$rate = $board[bo_1] / $size[0];
$height = (int)($size[1] * $rate);
@unlink($thumb_path.'/'.$wr_id);
$dst = imagecreatetruecolor($board[bo_1], $height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $board[bo_1], $height, $size[0], $size[1]);
imagepng($dst, $thumb_path.'/'.$wr_id, $board[bo_2]);
chmod($thumb_path.'/'.$wr_id, 0606);
}
}
}
} //
?>
write.skin.php -------------
<input type="checkbox" name="mark" value="1"/> 워터마킹하기</p>
<p>
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
6년 전
waterMark($file,$board_skin_path."/img/logo_mark.gif"); // 요거 추가됨 윈본이미지우측하단에 로고를 붙이자, gif 만 됨
여기 아래에
waterMark($file,$board_skin_path."/img/logo_mark.png"); // 요거 추가됨 윈본이미지우측하단에 로고를 붙이자, gif 만 됨
이렇게 추가해주시면 안되나요?
로그인 후 평가할 수 있습니다
답변에 대한 댓글 5개
�
6년 전
�
6년 전
아니요..워터마크가 png파일이라는 말이에요 그래서 워터마크가 투명도 적용안되고 그냥 원본이 적용되게 할수는없을까요?
�
6년 전
음..정리하자면 gif파일에 워터마크가 박히면 배경색이 있어서 워터마크가 잘 나오는데
png파일에는 배경색이 없어서 워터마크가 잘 안보인다는 말씀이신거죠?
워터마크가 원본이 투명인데 투명도가 적용안되게 하실려면
투명도가 없는 워터마크를 별도로 넣어서 if문을 이용해서
png파일일때는 투명도가 없는 워터마크가 찍히게하면 되지 않을까요?
png파일에는 배경색이 없어서 워터마크가 잘 안보인다는 말씀이신거죠?
워터마크가 원본이 투명인데 투명도가 적용안되게 하실려면
투명도가 없는 워터마크를 별도로 넣어서 if문을 이용해서
png파일일때는 투명도가 없는 워터마크가 찍히게하면 되지 않을까요?
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인전체 질문 목록
답변대기
답변대기
답변대기
답변대기
답변대기
답변대기
답변대기
답변대기
채택
답변대기
답변대기
답변대기
답변대기
채택
채택
답변대기
답변대기
답변대기
채택
투명도없이 그냥 원본만 딱 얹을수없을까요?