티스토리 뷰
PHP 에서 imagepng 사용해서 이미지 합성하는 방법.
imagecolorallocatealpha = 이미지 배경색상 지정 + alpha 값 지정 // 모자 리사이징 이미지의 배경색 지정후 채워주기 $moja_resize_bg = imagecolorallocatealpha($moja_resize, 0, 0, 0, 127); imagefill($moja_resize, 0, 0, $moja_resize_bg); ##################################################################################################################### // 저장할 이미지의 사이즈 영역 생성 (220 x 260) $save_user_image = imagecreatetruecolor(220, 260); // 저장할 이미지의 배경색 지정후 채워주기 $save_user_image_bg = imagecolorallocatealpha($save_user_image, 0, 0, 0, 127); imagefill ($save_user_image, 0, 0, $save_user_image_bg); // 모자 이미지에 회전각 적용 // imagealphablending = 원본 이미지에 배경 색상 알바 채널을 사용할 수 있도록 정의 // imagesavealpha 는 png 이미지를 저장할때 전체 알파 채널정보를 저장하는 부분 (배경영역에 alpha 값 적용) // 앵글 (회전각) if ($angle) { // 이미지 회전. $moja_image = imagerotate ($moja_image, $angle*-1, -1); imagealphablending($moja_image, true); imagesavealpha($moja_image, true); } ##################################################################################################################### // 모자이미지 원본의 정보를 복사후 정의된 크기만큼 리사이징 // (변경될 이미지 , 원본이미지 , 변경될이미지 x좌표 , 변경될 이미지 y좌표 , 원본이미지 x좌표 , 원본이미지 y좌표 , 변경될 이미지 넓이 , 변경될 이미지 높이 , 원본이미지 넓이 , 원본이미지 높이) imagecopyresized($moja_resize, $moja_image, $margin_left, $margin_top, 0, 0, $image_width, $image_height, imagesx($moja_image), imagesy($moja_image)); ##################################################################################################################### // 사용자 이미지 원본의 정보를 복사후 정의된 크기만큼 리사이징 // (변경될 이미지 , 원본이미지 , 변경될이미지 x좌표 , 변경될 이미지 y좌표 , 원본이미지 x좌표 , 원본이미지 y좌표 , 변경될 이미지 넓이 , 변경될 이미지 높이 , 원본이미지 넓이 , 원본이미지 높이) imagecopyresized($save_user_image, $user_image, 0, 0, 0, 0, 220, 260, imagesx($user_image), imagesy($user_image)); /* (변경될 이미지 , 원본이미지 , 변경될이미지 x좌표 , 변경될 이미지 y좌표 , 원본이미지 x좌표 , 원본이미지 y좌표 , 변경될 이미지 넓이 , 변경될 이미지 높이) imagecopy($big_user_image, $moja_image, $margin_left, $margin_top, 0, 0,imagesx($user_image),imagesy($user_image)); imagecopy($big_user_image, $thumb, 0, 0, 0, 0, 220, 260); imagecopy($big_user_image, $user_image, 0, 0, 0, 0, 220, 260); */ ##################################################################################################################### // 최종적으로 리사이징 된 사용자 이미지에 모자 이미지 적용 imagecopy($save_user_image, $moja_resize, $margin_left, $margin_top, 0, 0, imagesx($moja_resize),imagesy($moja_resize)); // 멘트 입력 imagestring($save_user_image, 4, 240, 18, "When I was 5", 0); // png 이미지로 저장. imagepng ($save_user_image, $_SERVER['DOCUMENT_ROOT'].'/ImgUp/final_'.$_SESSION["M_Uid"].'.png'); ?>
'WEB 전체 > PHP' 카테고리의 다른 글
PHP Func (핸드폰 번호 - 처리 , 사용자 브라우져 체크) (0) | 2012.02.07 |
---|---|
PHP - 외부 url 에서 내용 전부 긁어오기 (0) | 2011.10.28 |
CKEditor & CKFinder 설치시 Finder 권한 오류 발생시 (0) | 2011.10.20 |
PHP - 안전한 mysql_query() 예제 (0) | 2011.10.13 |
PHP 외부 페이지 소스 가져오는 함수 (0) | 2011.10.06 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 1차원 배열저장
- CKFinder
- Entity Code
- 파일명 공백
- HTTPD
- selinux
- 구분자 자르기
- php
- resttemplate
- CKEditor
- iis 파일 다운로드 공백
- postForObject
- 정규식
- 엔티티 코드표
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함