どのようにPHPを使用して複数の画像に分割する画像を1つ
したがって、複数の小さな画像に1つの大きな画像を破るか? 問題ありません。 これは、あいまいな問題のように思えるかもしれませんがするかは、これを行うにしたいと思う複数の理由を。 たぶんあなたは、視覚を作成したいスライドパズル。 それとも、実行しているユニークなワードプレスのテーマを。 それとも、ある種のコラージュを作成する。 それは実際になぜあなたは小さい画像に画像を分割する問題ではない、PHPは簡単にこの作業を行います。 JPEGファイルのみを取り扱って以下の例を示します。 画像の他の種類に対処するための関数を変更するに難しいことはない。
<?PHPの
/ /この関数は、行サイズの列均等に数が分割イメージを挿入します。
関数 split_image($ number_of_rows、$ number_of_cols、$ path_to_image、$ファイル名)(
/ / $ number_of_rows#行の必要に応じ=;
/ / $ number_of_cols#はcolsの必要に応じ=
/ / $ path_to_image =イメージは、のようなものですフォルダ:/のhtml /一覧/アップロード/ホーム/コンテンツ/ユーザー名へのパスは/
/ / $ file_nameは=イメージのファイル名を:archery.jpg等
パスの拡張子解析/ /
$file_name); $情報をもっと見る= PathInfoに ($ path_to_image。$ファイル名);
/ / 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 colを+) の ($ 0、$ colが未満コル= $
($; $ 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 fnを時間/ dの/画像/ $場合(imagejpeg($イム"のINSERT目的地はこちらも"/ c /コンテンツ、100))/ / /宛先がしますが何かのように/ホーム(エコー"行われている!<br/>");
)
)
)
)
?>








































