여러 개의 이미지를 어떻게 하나의 이미지로 PHP를 사용 분열

함수에서, 2008년 8월 26일에 ShortLikeAFox으로 PHP를 게시됨

그래서 여러 개의 작은 이미지로 하나의 큰 이미지를 부러 뜨 리고 싶어? 문제 없어. 이것은 애매한 문제처럼 보이지만 당신은 이런 짓을 할만한 여러 이유가있다. 아마 당신은 시각적 슬라이딩 퍼즐을 만들려고합니다. 아니면 독특한 WordPress의 테마를 실행하고있습니다. 아니면 일종의 콜라주를 만들려고합니다. 정말 왜 작은 이미지로 이미지를 나누려고하지 않는 문제, PHP는이 작업을 쉽게합니다. 사진과 함께 아래의 예를 들어서만 다룹니다. 다른 종류의 이미지 처리 기능을 변경하면 어렵지 않을 것이다.

<? PHP는
/ /이 함수의 열 및 행 번호로 동일 크기의 이미지를 나눌 예정이다.
함수 split_image ($ number_of_rows, $ number_of_cols, $ path_to_image, $ file_name을) (

/ / $ number_of_rows = # 당신이 원하는 행;
/ / $ cols number_of_cols = # 당신이 원하는의
/ / $ path_to_image =는 이미지에서처럼 뭔가있는 폴더 : / 고향에 대한 경로 / 콘텐츠 / 사용자 / html과 / 목록 / 업로드 /
/ / $ file_name을 이미지의 = 파일 : archery.jpg, 등

/ 확장 / 구문 분석 경로
$file_name); $ 정보 = pathinfo ($ path_to_image. $ file_name을);

/ / 우리는 JPEG 처리되었는지 확인
($info[ 'extension' ]) == ‘jpg’ ) || ( strtolower ($info[ 'extension' ]) == ‘jpeg’ ) ){ ((strtolower ($ 만약 정보 [ '확장']) == 'jpg로) | | (strtolower ($ 정보 ['확장 ']) =='의 jpeg)) (

/ /로드 이미지 및 이미지 크기를 얻을
); $ 소스 = ( "($ path_to_image) ($ file_name을)") imagecreatefromjpeg;
$ 너비 = imagesx ($ 소스); / / 너비 찾기
$ 높이 = imagesy ($ 소스); / / 높이 찾기
$ segment_width = $ 너비 / $ number_of_cols; / / 개별 세그먼트의 넓이를 확인
$ segment_height = $ 높이 / $ number_of_rows; / / 개별 세그먼트의 높이를 확인

($ = 0; $ 대장균 <$ number_of_cols 대장균; $에 대한 대장균 + +)
(

행 = 0 ($ 위해; $ 행 <$ number_of_rows; $ 행 + +)
(

, $col, $row ); $ fn = sprintf ( "아무리 % 02d_ % 02d.jpg", $ 대장균, $ 행);
); //I print the image name here, so that the process shows itself as it runs ( "$ fn") 에코; / / 내가 여기, 그렇게 그 과정 그걸로 자신을 보여주는 이미지를 실행 이름을 인쇄
$ 메신저 = imagecreatetruecolor ($ segment_width, $ segment_height) @;
imagecopyresized ($ 메신저, $ 소스, 0, 0, $ * $ segment_width, $ 연속 결장 * $ segment_height, $ segment_width, $ segment_height, $ segment_width, $ segment_height);
$ "="test.jpg 파일;
/ / 이미지 저장
, 100 )) //The destination will be something like /home/content/c/h/d/images/$fn (imagejpeg ($ 메신저, "목적지를 여기에 삽입", 100)) / / 그 대상처럼 뭔가는 / home / 콘텐츠 / c를 / h / d를해야한다 / 이미지 / $ fn면

에코 ( "이 만들어지는 것입니다!에 <br/>");

)

)

)

)

?>

코멘트를 남겨주세요