<?
//이미지를 투명하게 겹친다
function WatermarkImage($CanvasImage, $WatermarkImage /* MUST BE PNG */, $Opacity=10, $Quality=75){
// create true color canvas image:
$canvas_src = imagecreatefromjpeg($CanvasImage);
$canvas_w = ImageSX($canvas_src);
$canvas_h = ImageSY($canvas_src);
$canvas_img = imagecreatetruecolor($canvas_w, $canvas_h);
imagecopy($canvas_img, $canvas_src, 0,0,0,0, $canvas_w, $canvas_h);
imagedestroy($canvas_src); // no longer needed
// create true color overlay image:
$overlay_src = imagecreatefrompng($WatermarkImage);
$overlay_w = ImageSX($overlay_src);
$overlay_h = ImageSY($overlay_src);
$overlay_img = imagecreatetruecolor($overlay_w, $overlay_h);
imagecopy($overlay_img, $overlay_src, 0,0,0,0, $overlay_w, $overlay_h);
imagedestroy($overlay_src); // no longer needed
// setup transparent color (pick one):
$black = imagecolorallocate($overlay_img, 0x00, 0x00, 0x00);
$white = imagecolorallocate($overlay_img, 0xFF, 0xFF, 0xFF);
$magenta = imagecolorallocate($overlay_img, 0xFF, 0x00, 0xFF);
// and use it here:
imagecolortransparent($overlay_img, $white);
// copy and merge the overlay image and the canvas image:
imagecopymerge($canvas_img, $overlay_img, 0,0,0,0, $overlay_w, $overlay_h, $Opacity);
// output:
header("Content-type: image/jpeg");
imagejpeg($canvas_img, '', $Quality);
imagedestroy($overlay_img);
imagedestroy($canvas_img);
}
// call function with opcity set to 50% and 95% quality
WatermarkImage("1.jpg", "1.png", 50, 95);
?>
WatermarkImage("바탕이미지","투명하게 겹처지는이미지","투명도","화질");
쓰이는 함수를 보시면 알겠지만 이미지는 앞에는 jpg, 뒤에는 png여야 합니다.
jpg파일은 루프를 돌려 체크해 이미지에 맞는 함수를 부르도록 수정하면 되지만
겹처지는 파일인 png는 투명효과를 위해 반드시 png여야 합니다.
php
bibaram2005.02.18 · 4분 읽기 · 조회 4,661
두개의 이미지를 투명하게 겹치는 함수
bibaram2005.02.18 · 4분 읽기 · 조회 4,661이어서 읽기
html↗
favicon.ico Status 404 해결방법
favicon.ico 파일이 있어서 경로를 직접 설정해주는 게 최선이지만favicon.ico가 없다면 아래와 같이 넣어준다. <html> <head> <link rel="shortcut icon" href="data:image/x-icon;," type="image/x-icon"> </head…
2020.09.25·1분 읽기
php↗
Codeigniter api에서 어떤 곳에서 보낸 json
$aData = var_export(file_get_contents('php://input'),TRUE); $aArr = json_decode(str_replace("'", "", $aData), true); 버전에 따라 다를 수도 있음 $this->input->raw_input_stream 이렇게 해보면 됨
2020.09.11·1분 읽기
server↗
apache 이미지 로그 안쌓이게 하기
웹서버를 운영하다 보면 Apache log 가 엄청나게 많이 쌓인다. logrotate 가 실행되고 있다면 어느 정도 로그가 정리가 되겠지만 아니라면 로그가 쌓여서 서버가 엄청 느려지거나 서버가 다운될 수도 있다. ErrorLo…
2020.02.17·2분 읽기
댓글 0
아직 댓글이 없습니다.