그냥 개발자 블로그

php강좌 - 햇갈리는 imagecopyresampled 정리 본문

프로그래밍팁/php

php강좌 - 햇갈리는 imagecopyresampled 정리

마음이파파 2015. 9. 29. 20:30

php에서 imagecopyresampled 함수는 이미지 두장을 겹칠때


특히나 워터마크를 프로그램상에서 붙일때 많이 사용되는데요.


함수에 들어가는 값들이 의미하는 뜻이 무척이나 햇갈리죠.


저 역시 너무 햇갈려서 오래걸리고 그러다보니 이미지 다루는 기술을 기피하게 되더라고요.


그래서 오늘 한방에 이를 정리해 놓고자 해요.






 

이제 이해가 좀 되시나요? ㅎㅎㅎ 


그래도 어려우시면 imagecopysampleed 함수가 동작하는 순서를 차례로 포토샵으로 나타내볼게요.


우선 아래와 같은 내용의 명령이 있다고 가정해보죠..


imagecopysampleed (원본이미지,워터마크,10,10,0,0,100,100,100,100);








대상이 될 원본 이미지에요.








imagecopysampleed (원본이미지,워터마크,10,10,0,0,100,100,100,100);


여기에 해당해요.


원본의 좌측 상단 꼭지점으로부터 우로 10 아래로 10만큰 위치에 좌표를 잡아요.


마치 css padding 과 같아요.









imagecopysampleed (원본이미지,워터마크,10,10,0,0,100,100,100,100);


다음으로 워터마크의 margin과 같은 역할을 하는 좌표를 찍게되구요.


빨간점으로 보이는곳이에요.


단 여기서 저 값들은 양수와 음수가 반대랍니다.









imagecopysampleed (원본이미지,워터마크,10,10,0,0,100,100,100,100);


이제 워터마크를 올릴 가상의 영역을 만들어주게 되고요.









imagecopysampleed (원본이미지,워터마크,10,10,0,0,100,100,100,100);


만들어진 가상영역에 워터마크를 넣어야 하는데


주황색으로 표시된 값은 실제 워터마크의 얼마만큼을 가상영역에 넣을것인지 나타내요.


예를 들어 워터마크 사이즈 200px X 100px 라고 하면 200,100을 넣어주면 되고요.


만약 워터마크 사이즈가 200px X 100px 이런데 100,100 적어주면 그만큼 크기에 해당하는 영역만


가상영역에 들어가고 나머지는 안들어가요.








나름 이해하기 쉽게 적어봤는데 이해들이 되셨을지 모르겠네요.







개발문의는 http://work6.kr 을 이용해 주세요.