アーカイブ機能を

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

機能では、 2008年8月 26日に掲示し、 PHP ShortLikeAFox

小さいので、複数の画像を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準拠) ) (

/ /読み込み画像や画像のサイズを取得
); $源= ( " ( $ path_to_image ) ( $ファイル名) " ) imagecreatefromjpeg ;
$幅= imagesx ( $ソース) ; / /幅をして下さい
ドル高さ= imagesy ( $ソース) ; / /の高さをして下さい
$ segment_width = $幅/ $ number_of_cols ; / /は、個々のセグメントの幅を決定
$ segment_height = $高さ/ $ number_of_rows ; / /は、個々のセグメントの高さを決定

( $ = 0 ; $列< $ number_of_cols列;ドルの列+ + )

= 0 ( $ ; $行< $ number_of_rows ; $行+ + )

, $col, $row ); $ソジョン= sprintfを"イメージ% 02d_ % 02d.jpg " 、 $列、 $行) ;
); //I print the image name here, so that the process shows itself as it runs" $ソジョン" )エコー; / /私はここので、それは、プロセスとしての地位を示すのは、イメージの名前を印刷を実行
$イム= 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/$fnimagejpeg ( $イムは、 "目的地をここに挿入" 、 100 ) ) / /この先のようなもの/ホーム/コンテンツ/ ç /時間/エされる/画像/ $ソジョン場合

エコー( "修正されました!中<br/> " ) ;

? >

サムネイル画像をどのように PHPを使用する

機能では、 ShortLikeAFoxし、 PHPが2008年7月22日投稿

ので、指定したイメージからサムネイルを作成する... PHPは、このタスクを簡単にするします。 私は最初の画像をユーザーが私の管理の仕方をサイトでアップロードに対応するため、以下の機能を書いている。 このサイトにアップロードされた画像はJPEG 、 pngs 、またはGIFをので、私のすべてに対処するための3つの関数を書くことができます。 このコードは、もともとは機能に基づいているwebcheatsheet.comで発見

どのようにそれを行うには:

機能 createThumbs ( $ pathToImages 、 $ fname 、 $ pathToThumbs 、 $ thumbWidth )

/拡張子/パースパス

$インフォ= pathinfo ( $ pathToImages 。 $ fname ) ;
/ /継続する場合にのみ、これはJPEG画像です
($info['extension']) == ‘jpeg’) ) ( ( strtolower ( $場合インフォメーション[ '拡張子' ] ) == ' ' JPG )を| | ( strtolower ( $情報[ '拡張子' ] ) == ' ' JPEG準拠) )

/ /読み込み画像や画像のサイズを取得
$イメージ= ( " ( $ pathToImages ) ( $ fname" ) imagecreatefromjpeg ;
$幅= imagesx ( $イメージ) ;
ドル高さ= imagesy ( $イメージ) ;

/ /サムネイルのサイズを計算する
$ new_width = $ thumbWidth ;
$ new_height = ( $高さ* ( $ thumbWidth / $幅) ) ;

/ /新しい一時的なイメージを作成
$ tmp_img = imagecreatetruecolor ( $ new_width 、 $ new_height ) ;

/ /コピーし、古いイメージのサイズを変更し、新しいイメージに
imagecopyresized ( $ tmp_img 、 $イメージ、 0 、 0 、 0 、 0 、 $ new_width 、 $ new_height 、 $幅、 $高さ) ;

/ /サムネイルをファイルに保存する
imagejpeg ( $ tmp_img 、 " ( $ pathToThumbs ) ( $ fname ) " ) ;

strtolower ( $場合インフォメーション[ '拡張子' ] ) == 'のGIF ' )

/ /読み込み画像や画像のサイズを取得
$イメージ= imagecreatefromgif ( " ( $ pathToImages ) ( $ fname ) " ) ;
$幅= imagesx ( $イメージ) ;
ドル高さ= imagesy ( $イメージ) ;

/ /サムネイルのサイズを計算する
$ new_width = $ thumbWidth ;
$ new_height = ( $高さ* ( $ thumbWidth / $幅) ) ;

/ /新しい一時的なイメージを作成
$ tmp_img = imagecreatetruecolor ( $ new_width 、 $ new_height ) ;

/ /コピーし、古いイメージのサイズを変更し、新しいイメージに
imagecopyresized ( $ tmp_img 、 $イメージ、 0 、 0 、 0 、 0 、 $ new_width 、 $ new_height 、 $幅、 $高さ) ;

/ /サムネイルをファイルに保存する
imagegif ( $ tmp_img 、 " ( $ pathToThumbs ) ( $ fname ) " ) ;

strtolower ( $場合インフォメーション[ '拡張子' ] ) == ' PNG形式' )

/ /読み込み画像や画像のサイズを取得
$イメージ= ( " ( $ pathToImages ) ( $ fname ) " ) imagecreatefrompng ;
$幅= imagesx ( $イメージ) ;
ドル高さ= imagesy ( $イメージ) ;

/ /サムネイルのサイズを計算する
$ new_width = $ thumbWidth ;
$ new_height = ( $高さ* ( $ thumbWidth / $幅) ) ;

/ /新しい一時的なイメージを作成
$ tmp_img = imagecreatetruecolor ( $ new_width 、 $ new_height ) ;

/ /コピーし、古いイメージのサイズを変更し、新しいイメージに
imagecopyresized ( $ tmp_img 、 $イメージ、 0 、 0 、 0 、 0 、 $ new_width 、 $ new_height 、 $幅、 $高さ) ;

/ /サムネイルをファイルに保存する
imagepng ( $ tmp_img 、 " ( $ pathToThumbs ) ( $ fname ) " ) ;

どのようにこの作品

この関数は4つの引数をcreateThumbsかかります。

  • $ pathToImages - >イメージファイルは、この: /ホーム/コンテンツ/ユーザ名/ HTML形式/リスト/ インチアップロードのように見えるかもしれませんがされているフォルダへのパス/
  • $ fname - >ファイル名: pic1.gif 、 johnny.jpg 、モニュメント等...
  • $ pathToThumbs - >を使用するインチをしないでサムネイル画像を目的のフォルダへのパス同じパスとして$ pathToImagesであることをしたいので、サムネイル画像を元の画像と同じ名前があります。
  • $ thumbWidth - >の幅をピクセル単位でされるサムネイルします。

重要なことに注意して作成してください私はここでは、この機能は、ファイル拡張子のチェックよりも、何も悪意のある画像ファイルが含まれていることを確認し、他の場所には何もしている。 createThumbs以降のファイル( )が既にそのファイルが正しくアップロードされて精査されていると想定されているで動作します。

まず最初にcreateThumbs ( )がコールpathinfo ( )です。 pathinfo ( )は配列には、パスの部分を破壊。 私たちが正常にサムネイルを作成するには、ファイルの拡張子が必要に私たちには、便利です。 もし我々は、 JPEGに対応している次のcreateThumbs ( )かどうかを確認してください。 場合は、元のファイルは、 JPEG createThumbsされ、新しいイメージを、元の画像をimagecreatefromjpeg を基に作成されます( ) 次のステップは、このイメージの幅と高さを得ることです( imagesx ( )imagesy ( ) ) createThumbsして元の幅と高さの比率thumbWidth $ ( )の使用は、新しい幅と高さのサムネイルを設定します。 これらの新しい比率createThumbs ( )の使用は、同じ幅とimagecreatetruecolor ( ) 。 imagecopyresized ( )は、画像のサイズを変更するに保存使用されているとのサムネイル の高さなる " "空のイメージを作成する" "空白で作成します。 imagecopyresized ( )はそのように思えるかもしれないが、パラメータの多くがかかっていない場合は、実際には、複雑にされているマニュアルをご覧ください。 今では真のカラー画像のサムネイルcreateThumbsとして存在するすべてのニーズは、 JPEGファイルに変換されています。 imagejpegこの操作行うには( )と呼ばれています。

それはどのように機能はJPEGの作品だ。 そこに最小限の違いがあります。 pngsと。 GIFを。