보관 기능

어떻게 PHP를 사용하여 여러 이미지로 이미지를 나누기로 한

안으로 배치하는 함수 , PHP는 8 월 ShortLikeAFox에 의해 26, 2008

그래서 당신은 여러 개의 작은 이미지로 하나의 큰 이미지를 깨고 싶어? 문제 없어요. 이것은 애매한 문제처럼 보일지도 모르지만, 거기 당신이 이것을 할 싶어 여러 이유. 아마 당신이 시각적으로 생성하려는 슬라이딩 퍼즐 . 아니면 실행하는 독특한 WordPress의 테마를 . 아니면 일종의 콜라주를 만들려고합니다. 정말 왜 작은 이미지로 이미지를 나누려고 상관 없어요, PHP는이 작업을 쉽게합니다. JPEG 파일로 전용 계약을 아래의 예제. 이미지를 다른 유형의 처리 기능을 변경하면 그렇게 어렵진 않을 것입니다.

<? php에
/ /이 함수는 행과 열 크기 동등 번호 것입 분할 이미지를 넣습니다.
함수 split_image ($ number_of_rows, $ number_of_cols, $ path_to_image, $ FILE_NAME 파일) (

/ / $ number_of_rows #은 행 당신이 원하는 =;
/ / $ number_of_cols #은 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'))

/ /로드 이미지와 크기를 얻을 이미지
); $ 소스 = imagecreatefromjpeg ( "($ path_to_image) ($ FILE_NAME 파일)");
$ 폭 = imagesx ($ 소스); / /가 너비를 찾기
$ 높이 = imagesy ($ 소스); / / 키가 찾기
$ segment_width = $에게 number_of_cols 폭 / $; 너비의 개별 세그먼트 / / 결정
$ segment_height = $에게 number_of_rows 높이 / $; 높이의 개별 세그먼트 / / 결정

+를; $ number_of_cols 열을 +) ($ 0; $ 중령은 <열 = $
(

$; $ 0 행은 <number_of_rows를위한 (= $ 행; $ 행 + +를)
(

, $col, $row ); $ Fn = sprintf ( "img % 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 Fn H는 / d를 / 이미지 / $면 (imagejpeg ($ 인스턴트 메시지, "삽입 출항의 목적 여기"/ c를 / 콘텐츠, 100)) / / / 대상이 될거 같은 걸 / 가정

(에코 "제출되었습니다! 신청 <br/>");

)

)

)

)

?>

어떻게 PHP를 사용하여 만들어 이미지 섬네일

안으로 배치하는 함수 , PHP는 2008, 22로 ShortLikeAFox 7 월

그럼 당신은 주어진 이미지에서 축소판을 만들 ... PHP를 원하는 작업 쉽게. 처음 이미지가 사용자에 의해 내가 관리할 수 있도록 사이트에서 업로드를 다루는 아래의 함수를 썼습니다. 이 사이트에 업로드된 이미지는 JPEG 파일로, pngs, 또는 GIF는, 그래서 기능을 모두 세를 다루는 작성했다 할 수 있습니다. 이 코드는 함수입니다 원래의 기초가 꺼져에서 찾은 webcheatsheet.com

그것을 어떻게하는 :

함수 createThumbs ($ pathToImages, $ fname, $ pathToThumbs, $ thumbWidth)
(

경로 확장 구문 분석 / /

$ 정보 = pathinfo ($ pathToImages. $ fname);
/ / 계속하는 경우에만 이미지에서 JPEG 이것이
($info['extension']) == 'jpeg') ) == '확장']) [(strtolower ($ 정보면 ( '== jpg이'[ '확장자'])을 $ | |을 (strtolower () 정보 ')의 jpeg')
(

/ /로드 이미지와 크기를 얻을 이미지
$ img = imagecreatefromjpeg ( "($ pathToImages) ($ fname)");
$ 폭 = imagesx ($ img);
$ 높이 = imagesy ($ img);

/ / 크기를 계산 썸네일
$ new_width = $ thumbWidth;
$ new_height = ($ 높이 * ($ thumbWidth / $ 폭));

/ / 이미지를 만들려면 새 임시
$ tmp_img = imagecreatetruecolor ($ new_width 달러를 new_height);

및 크기를 조정 낡은 이미지로 새로운 이미지를 복사 / /
$ imagecopyresized ($ tmp_img, img, 0, 0, 0, 0, $ new_width, $ new_height, $ 너비, 높이 $);

/ / 파일에 저장 섬네일을
imagejpeg ($ tmp_img, "($ pathToThumbs) ($ fname)");

)

) == '지프') '확장자']면 (strtolower ($ 정보 [
(

/ /로드 이미지와 크기를 얻을 이미지
$ img = imagecreatefromgif ( "($ pathToImages) ($ fname)");
$ 폭 = imagesx ($ img);
$ 높이 = imagesy ($ img);

/ / 크기를 계산 썸네일
$ new_width = $ thumbWidth;
$ new_height = ($ 높이 * ($ thumbWidth / $ 폭));

/ / 이미지를 만들려면 새 임시
$ tmp_img = imagecreatetruecolor ($ new_width 달러를 new_height);

및 크기를 조정 낡은 이미지로 새로운 이미지를 복사 / /
$ imagecopyresized ($ tmp_img, img, 0, 0, 0, 0, $ new_width, $ new_height, $ 너비, 높이 $);

/ / 파일에 저장 섬네일을
imagegif ($ tmp_img, "($ pathToThumbs) ($ fname)");

)

== 확장 '])'strtolower ($ 정보 [면 ( ')는 PNG'
(

/ /로드 이미지와 크기를 얻을 이미지
$ img = imagecreatefrompng ( "($ pathToImages) ($ fname)");
$ 폭 = imagesx ($ img);
$ 높이 = imagesy ($ img);

/ / 크기를 계산 썸네일
$ new_width = $ thumbWidth;
$ new_height = ($ 높이 * ($ thumbWidth / $ 폭));

/ / 이미지를 만들려면 새 임시
$ tmp_img = imagecreatetruecolor ($ new_width 달러를 new_height);

및 크기를 조정 낡은 이미지로 새로운 이미지를 복사 / /
$ imagecopyresized ($ tmp_img, img, 0, 0, 0, 0, $ new_width, $ new_height, $ 너비, 높이 $);

/ / 파일에 저장 섬네일을
) imagepng ($ tmp_img, "($ pathToThumbs) ($ fname)";

)

)

어떻게 이런 작품

함수 createThumbs 4 인수를 걸립니다.

  • $ pathToImages -> / 업로드 목록을 html로 / 경로 / 파일 이름입니다 이미지 폴더에 들어 그것은 수도 봐 뭔가를 이런식으로 : / 홈 / 콘텐츠 / /
  • $ fname -> 파일 이름 : pic1.gif, johnny.jpg 등 ...
  • $ pathToThumbs은 -> 폴더에 대한 경로를 당신이 이미지로 원래 이름이 같은 원하는 동일한 경로로합니다 이미지가 달러를 pathToImages 때문에 썸네일있는 축소판 이미지를 수 말고 이것도는 들어 너.
  • $ thumbWidth -> 당신은 픽셀 단위로 작은 이미지를 원하는 너비가.

중요 사항은 제가 여기서해야이 기능이 곳에 아무것도, 파일 확장자 검사보다, 그 이미지 파일은 아무것도 악의가 포함되어 있는지 확인 기타입니다. 파일 createThumbs ()는 이미 지난 몇 작품부터 그 파일이 제대로 시시콜콜 따지는되어 가정 업로드.

첫 번째 일은 createThumbs () 호출 것입니다 pathinfo () . pathinfo () 배열로 경로의 부분을시킵니다. 우리가 제대로 축소판을 만드는 파일 확장명이 필요하기 때문에 이것은 우리에게 유용합니다. 우리의 jpeg 다루고있는 경우에는 다음 createThumbs ()는 수표 볼 수 있습니다. createThumbs 경우 원래의 jpeg 파일이 함께 만드는 새로운 이미지 원본을 기반으로 이미지를 ) imagecreatefromjpeg ( . 다음 단계는 (이미지 이건 가야의 높이 넓이와 imagesx () , imagesy () ). 그리고 원래 너비와 높이 createThumbs ()의 비율 thumbWidth 달러를 사용하여 새로운 너비와 축소판의 높이를 설정합니다. )를 사용하면 이러한 새 비율의 createThumbs을 (와 높이의 축소판 생성 너비 같은 "빈"될 이미지를 imagecreatetruecolor () . ) imagecopyresized ( 만든 단지 크기를 조정하는 데 사용 "빈"이미지를 저장 그것을에서. () imagecopyresized 맘에할지는 모르지만, 만약 자네가 그걸 그렇게 복잡하지 않습니다 설명서에서보세요 매개 변수를 많이 걸립니다. 이제 작은 이미지는 진정한 색상 이미지의 모든 createThumbs으로 존재해야 할 요구 사항을 JPEG로 파일을 변환할 수 있습니다. 이렇게하기 위해서는 imagejpeg ()을 호출됩니다.

그렇게 기능은 JPEG 파일로에서 일하고 있어요. 거기에 대한 최소한의 차이가있다. pngs 및. GIF는가.