ホームページ >php教程 >php手册 >画像関数ライブラリで遊ぶ - 一般的なグラフィック操作

画像関数ライブラリで遊ぶ - 一般的なグラフィック操作

WBOY
WBOYオリジナル
2016-06-13 12:47:14855ブラウズ

png とは何かなど、大きな理論については話さないようにしています。それは自分で見つけてください。

バージョン 4.3 以降、PHP には独自の GD2 ライブラリがバンドルされており、ユーザーが自分でダウンロードしてセットアップできるようになりました。PHP バージョンが gd モジュールをサポートしているかどうかを確認したい場合は (JPEG、PNG、WBMP はサポートされていますが、GIF はサポートされなくなりました)。 )、次の操作を実行します: これはメソッドです:

if(!function_exists('imagecreate')) {
die('このサーバーは GD モジュールをサポートしていません');
}

サポートされていない場合、どのように設定すればよいですか? gd モジュールの dll ファイルをダウンロードし、php.ini を変更して、サーバーを再起動します。

以下、PHP 描画は PS と呼ばれます。

PS を計画する場合は、必要な次の手順を完了する必要があります。

1: 基本的な PS オブジェクト ($image であるとします) を作成し、背景 (デフォルトでは黒) を塗りつぶします。
2: $image に描画します。
3: この画像を出力します。
4: オブジェクトを破棄し、使用されているメモリをクリアします。

まず、一般的に使用される関数をいくつか理解しましょう。これらの関数は PHP マニュアルで詳しく紹介されており、ここでは一般的に引用されています。

resource imagecreate ( int x_size, int y_size )
imagecreate() は、サイズ x_size および y_size の空白の画像を表す画像識別子を返します。
この関数は基本的に imagetruecolor($width,$height) と同じです。

int imagecolorallocate (リソース画像、int red、int green、int blue)
imagecolorallocate() 指定された RGB コンポーネントで構成される色を表す識別子を返します。 image パラメータは、imagecreatetruecolor() 関数の戻り値です。赤、緑、青は、それぞれ目的の色の赤、緑、青の成分です。これらのパラメータは、0 ~ 255 の整数、または 16 進数の 0x00 ~ 0xFF です。 image で表されるイメージで使用される各色を作成するには、imagecolorallocate() を呼び出す必要があります。

bool imagefill (resource image, int x, int y, int color)
imagefill() は、イメージ image の座標 x、y のカラー color で領域を塗りつぶします (イメージの左上隅は0, 0) (つまり、x、y 点と同じ色の点および隣接する点が塗りつぶされます)。


bool imageline ( resource image, int x1, int y1, int x2, int y2, int color )
imageline() は、座標 x1, y1 から x2, y2 までのイメージ image 内のカラー color を使用します (画像の左上隅を0,0)として線分を描きます。

bool imagestring (resource image, int font, int x, int y, string s, int col)
imagestring() は、col color を使用して、image (これは文字列の左上隅の座標であり、画像全体の左上隅は 0,0)。フォントが 1、2、3、4、または 5 の場合は、内蔵フォントが使用されます。

array imagettftext (リソース画像、float サイズ、float 角度、int x、int y、int color、string fontfile、string text)
この関数はより重要であり、ここにはリストされていない多くのパラメーターがあります。これは主に画像にテキストを書き込むために使用され、上記の関数と似ていますが、前者よりも強力です。

bool imagefilltoborder (resource image, int x, int y, int border, int color)

imagefilltoborder() は x, y (画像の左上隅が 0, 0) 点から開始され、領域の塗りつぶしを実行します。カラーボーダーまで カラーボーダーの境界線に達するまで。 [注: 境界線内のすべての色が塗りつぶされます。指定した境界線の色がポイントと同じ場合、塗りつぶしはありません。画像に境界線の色が存在しない場合は、画像全体が塗りつぶされます。 】

bool imagefilledellipse (resource image, int cx, int cy, int w, int h, int color)

imagefilledellipse() は、image で表される画像の cx、cy を使用します (画像の左上隅は 0 です) , 0) 中心に楕円を描きます。 w と h はそれぞれ楕円の幅と高さを指定します。楕円は色で塗りつぶされます。成功した場合は TRUE、失敗した場合は FALSE を返します。

出力画像データ: imagepng($image[,$filename])

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