ホームページ >php教程 >php手册 >画像の作成と処理

画像の作成と処理

WBOY
WBOYオリジナル
2016-06-21 09:08:30916ブラウズ

作成

いくつかのサードパーティ関数ライブラリをインストールし、グラフィックス処理スキルと組み合わせると、PHP を使用して画像を迅速に作成および処理できるようになります。実際、幾何学の知識もそれほど必要ありません。私は中学校の授業で失敗しましたが、今では PHP で画像を作成できるようになりました。



基本的な画像作成機能を使用する前に、GD ライブラリをインストールする必要があります。 JPEG関連の画像作成機能を使用するには、jpeg-6bもインストールする必要があります。画像で Type 1 フォントを使用する場合は、t1lib もインストールする必要があります。

ここで、システム設定をさらに調整する必要もあります。まず t1lib をインストールして終了し、次に jpeg-6b をインストールします。 3 番目のステップは、GD 関数ライブラリをインストールすることです。上記の 3 つの部分が順番にインストールされていることを確認してください。その理由は、jpeg-6b ライブラリを使用するには GD ライブラリをコンパイルする必要があるためです。 jpeg-6b を先にインストールするとコンパイルエラーが発生し、しばらく混乱することになります。

3つの関数ライブラリを作成したら、PHPを再構成します。これは、DSO バージョンの PHP を簡単にインストールする場合の一般的なアプローチです。次に、make clean コマンドを実行し、現在の構成プロンプトに次のコードを追加します:

--with-gd=[/path/to/gd]

--with-jpeg-dir=[/path/to/jpeg -6b]

--with-t1lib=[/path/to/t1lib]

最後にmakeとmake installを実行して設定は完了です。 Apache を再起動し、phpinfo() 関数を実行して、新しい機能が適切に動作していることを確認すれば準備完了です。

インストールされている GD ライブラリのバージョンに応じて、GIF または PNG 画像を作成できる場合があります。重要なのは、gd-1.6 以前のバージョンがインストールされている場合は、GIF ファイルは処理できますが、PNG ファイルは処理できません。gd-1.6 以降のバージョンがインストールされている場合は、PNG ファイルは処理できますが、GIF ファイルは処理できないということです。

単純な画像を作成するには、いくつかの関数が必要です。以下で段階的に説明します。

出力には、作成した画像の MIME タイプ (この場合は PNG) のファイル ヘッダーが含まれます。


ImageCreate() を使用して、空の画像を保存する変数を作成します。この関数には画像のピクセル サイズが必要です。 250*250 ピクセルの画像の場合、形式は ImageCreate(x_size, y_size) です。次のようになります。色。ただし、最初に ImageColorAllocate() 関数を使用して、色の RGB 値に従って各色の名前を決定する必要があります。関数の形式は ImageColorAllocate([画像], [赤], [緑], [青]) です。空色の場合は、次を使用する必要があります:

$skyblue = ImageColorAllocate($newImg,136,193,255);



次に、ImageFill() 関数を使用して、画像を上記の色で塗りつぶします。実際、ImageFill() 関数には、ImageFillRectangle()、ImageFillPolygon() など、複数のバージョンがあります。簡単にするために、ImageFill() 関数を使用して色を塗りつぶします。形式は次のとおりです:

ImageFill([image], [start x point], [start y point], [color])

ImageFill($newImg) ,0,0 ,$skyblue);

最後に、最終イメージを作成し、イメージ ストリームを破棄してメモリを解放し、完了したらシステムをクリーンアップします。 newImg); ?>

コードは次のようになります:


$newImg = ImageCreate(250,250);

$skyblue = ImageColorAllocate ($newImg,136,193,255);

ImageFill ($newImg,0,0,$skyblue);

ImagePNG($newImg);

ImageDestroy($newImg);

?> スクリプトを呼び出すと、 skyblue.php にアクセスし、独自のブラウザでアクセスすると、250*250 ピクセルの青い ​​PNG 画像が表示されます。

画像作成機能を使用して、大きな画像のサムネイルを作成するなど、画像を処理することもできます。

特定の画像に対して 35*35 ピクセルのサムネイルを作成する予定だとします。新しい 35*35 ピクセル サイズの画像を作成し、元の画像のコンテンツを含む画像ストリームを生成し、元の画像のサイズを変更して新しい空の画像に配置するだけです。

この目的を達成するための主要な関数は ImageCopyResize() であり、その形式は次のとおりです: ImageCopyResize([新しい画像ハンドル], [元の画像ハンドル], [新しい画像 X], [新しい画像 Y], [元の画像X] , [元の画像 Y], [新しい画像 X], [新しい画像 Y], [元の画像 ファイルの種類をブラウザに知らせます*/

header("Content-type: image/png"); /* 新しい画像の長さと幅を保存する変数を設定します*/

$newWidth = 35;

$newHeight = 35;

/* 指定された長さと幅で空の新しい画像を作成します*/

$newImg = ImageCreate($newWidth,$newHeight);

/* 元の大きい画像からデータを取得*/

$origImg = ImageCreateFromPNG(" test.png");

/* サイズを変更して画像をコピーします。 ImageSX() および ImageSY 関数を使用して、元の画像の x および x の寸法を取得します*/

ImageCopyResize($newImg,$origImg,0,0,0,0,$newWidth,$newHeight,ImageSX($origImg) ,ImageSY($ origImg));

/* 最終画像を作成し、メモリをクリアします*/

ImageDestroy($newImg) ?>スクリプト resize.php を呼び出し、ブラウザを使用してこのファイルにアクセスすると、35*35 ピクセルのサムネイル PNG 画像が表示されます。



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。