HTTP/1.0 200 OK Accept-Ranges: none Content-Location: http://shortlikeafox.com/category/functions/ Content-Type: text/html; charset=UTF-8 Date: Wed, 01 Sep 2010 04:38:15 GMT Set-Cookie: PREF=ID=e78997d85499b5d7:TM=1283315895:LM=1283315896:S=nsDKCXzFjQCLj6Bu; expires=Fri, 31-Aug-2012 04:38:16 GMT; path=/; domain=translate.googleusercontent.com X-Content-Type-Options: nosniff Server: translation Expires: Wed, 01 Sep 2010 04:38:15 GMT Cache-Control: private 関数は、ショートフォックスと同様に表示|

アーカイブ機能

どのようにPHPを使用して複数の画像に分割する画像を1つ

で掲示される機能をPHPの 8月ShortLikeAFoxで26日、2008年

したがって、複数の小さな画像に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/>");

?>

どのようにPHPを使用してください画像のサムネイル

で掲示される機能をPHPの 2008年22によってShortLikeAFox年7月

したがって、指定されたイメージからサムネイルを作成する... PHPをしたい、このタスクが容易になります。 私は最初の画像のユーザーによって私が管理を支援サイトでアップロードに対処するには、以下の関数を書いた。 このサイトにアップロードされた画像はJPEGの、PNG画像、またはジフので、機能を3つのすべてに対処するための書き込みがあったことができます。 このコードは関数であり、本来のベースがオフで発見webcheatsheet.com

どのようにそれを実行する:

関数 createThumbs($ pathToImages、$ fnameは、$ pathToThumbs、$ thumbWidth)

パスの拡張子解析/ /

$情報をもっと見る= PathInfoに ($ pathToImages。$ fnameは);
/ /を続行画像のみ場合はJPEG、これは
($info['extension']) == 'jpeg') ) =='拡張子を'])[( であるstrtolower($&サービス情報なら('== jpg'が['拡張子'])を$ | |を(strtolower()を&サービス情報')は、JPEG')

/ /負荷画像とサイズを取得するイメージ
$スペース= 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形式'

/ /負荷画像とサイズを取得するイメージ
$スペース= 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ため、サムネイルがサムネイル画像をするしない場合、これはDOがするインチあなた。
  • $ thumbWidth - >あなたはピクセル単位でするサムネイルを選択の幅が。

重要な注意は、私はここにしなければならない、この関数は代わりに何を、ファイル拡張子のチェックよりも、そのイメージファイルは何も悪意のある含まれていることを確認する他のものです。 ファイルcreateThumbs()が既にされていると動作から、それはそのファイルが正しく精査されていると見なされますアップロードしました。

最初のcreateThumbs()と呼んでいますかPathInfoに() 。 PathInfoに()配列にパスの一部を分割します。 我々は適切にサムネイルを作成するファイル拡張子を必要とするので、これは私たちに便利です。 我々はJPEG形式を扱う場合次createThumbs()は、チェックを確認します。 createThumbs場合は、元jpegファイルなのです作成し、新しいイメージオリジナル基づいて画像を)imagecreatefromjpeg( 。 次のステップは(画像このされて得るの高さを幅とimagesx() 、 imagesy() 。 元の幅と高さのcreateThumbs()の比率thumbWidthドルを使用して新しい幅とサムネイルの高さを設定します。 )を使用し、これらの新しい比のcreateThumbsを(と高さのサムネイルを作成します幅と同じ"空白"されるイメージをimagecreatetruecolor() 。 )imagecopyresized(作成だけでサイズを変更する場合に使用"空白"のイメージを保存し、それをします。 ()imagecopyresizedそれのように思えるかもしれないが、しかし、もしあなたが本当に複雑ではないドキュメントを見てパラメータがかかる。 今ではサムネイルが真のカラー画像のすべてのcreateThumbsとして存在して行う必要があるjpegのにファイルを変換することです。 このためには、 imagejpeg()を呼び出されます。

それがどのように機能がJPEG画像のための動作です。 また、最小限の違いがあります。PNG画像とgif形式は。