ホームページ > バックエンド開発 > PHPチュートリアル > PHP スクリプト作成の 10 のヒント (4)_PHP チュートリアル

PHP スクリプト作成の 10 のヒント (4)_PHP チュートリアル

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-07-21 16:05:51
オリジナル
760 人が閲覧しました

画像を動的に作成する
いくつかのサードパーティ関数ライブラリをインストールした後、グラフィック処理スキルと組み合わせて、PHP で画像を作成および処理できます。実際、幾何学の高度な知識は必要ありません。私は中学校のときいつもこの授業に落ちていましたが、今でも PHP で画像を作成する方法を知っています。

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

ここでは、システムをさらに調整する必要があります。まず、画像処理サポートを提供するために t1lib をインストールし、次に jpeg-6b をインストールする必要があります。 3 番目のステップは、GD 関数ライブラリをインストールすることです。これら 3 つのタスクを順番に実行する必要があるのは、jpeg-6b ライブラリを使用するために GD ライブラリをコンパイルする必要があるためです。なにもできない。 。

上記の 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() を使用して、空の画像を保存する変数を作成します。この関数にはピクセル単位の画像サイズが必要です。形式は ImageCreate(x_size, y_size) です。250-X-250 ピクセルの画像の場合、使用法は次のようになります。

$newImg = ImageCreate(250,250);

画像はまだ空白であるため、まだ試す必要があります。特定の色を使用するには、その色を塗りつぶしますが、まず、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);

最後に、画像を作成してメモリを解放します。

ImagePNG($newImg);具体的なコードは以下のようになります。 ImageFill($newImg,0,$skyblue);
ImageDestroy($newImg);

このスクリプトを skyblue.php に呼び出してアクセスすると、 250- X - 250 ピクセルの大きな青い PNG 画像が表示されます。

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

画像の 35 X 35 ピクセル サイズのサムネイルを作成する予定だとします。新しい 35 x 35 ピクセルの画像を作成し、元の画像の内容を含む画像ストリームを作成し、元の画像のサイズを変更して新しい空の画像に配置します。

上記の目的を達成するために使用される主要な関数は ImageCopyResize() であり、この関数の形式は次のとおりです: ImageCopyResize([新しい画像ハンドル],[元の画像ハンドル],[新しい画像 X], [新しい画像 Y ], [元の画像 X], [元の画像 Y], [新しい画像 X], [新しい画像 Y], [元の画像 X], [元の画像 Y]); 以下はコードのコメントです。

header("Content-type: image/png");

/* 高さを保持する変数を設定します新しい画像の幅 */
$newWidth = 35;
$newHeight = 35;

/* 指定された新しい高さと幅の新しい画像を作成します */
$newImg = ImageCreate($newWidth,$newHeight) ;

/* 元の大きな画像からデータを取得します */
$origImg = ImageCreateFromPNG("test.png");

/* サイズ変更された画像をコピーします。元の画像の y サイズ */
ImageCopyResize($newImg,$origImg,0,0,0,0,$newWidth,$newHeight,ImageSX($origImg),ImageSY($origImg));最終的なイメージを作成し、メモリを解放します */
ImagePNG($newImg);
ImageDestroy($newImg) ?> 上記のスクリプト resize.php を呼び出して、独自のブラウザでアクセスすると、次のようになります。 35 X 35 ピクセル サイズのミニチュア PNG 画像で表示します。





http://www.bkjia.com/PHPjc/315583.html

www.bkjia.com

http://www.bkjia.com/PHPjc/315583.html技術記事イメージを動的に作成する いくつかのサードパーティ関数ライブラリをインストールし、グラフィック処理スキルを組み合わせた後、PHP を使用してイメージを作成および処理できます。実際、それほど多くのジオメトリは必要ありません...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
PHP 拡張子 intl
から 1970-01-01 08:00:00
0
0
0
phpのデータ取得?
から 1970-01-01 08:00:00
0
0
0
PHP GET エラー レポート
から 1970-01-01 08:00:00
0
0
0
phpを上手に学ぶ方法
から 1970-01-01 08:00:00
0
0
0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート