ホームページ  >  記事  >  バックエンド開発  >  PHPで画像を作成する具体的な手順

PHPで画像を作成する具体的な手順

藏色散人
藏色散人オリジナル
2021-07-02 09:04:203052ブラウズ

php による画像作成の具体的な手順: 1. ヘッダーを設定し、生成される MIME タイプをブラウザーに指示します; 2. キャンバスを作成します; 3. カラー管理を実行します; 4. 塗りつぶしの色; 5. 描画しますグラフィックスとテキスト、6. 出力イメージ、7. イメージの破棄。

PHPで画像を作成する具体的な手順

この記事の動作環境: Windows 7 システム、PHP バージョン 7.1、DELL G3 コンピューター

具体的なイメージ作成手順PHP の場合

1. ヘッダーを設定し、生成したい MIME タイプをブラウザーに伝えます

全部で 3 つのタイプがあります:

  • header('content-type:image/png')
  • header ( 'content-type: image/ gif');
  • header ( 'content-type: image/jpeg' );
<?php header("content-type: image/png");

2. キャンバスを作成し、その後の操作はこのキャンバス領域に基づいて行われます

resource imagecreatetruecolor (int $width, int $height) 新しい True Color イメージを作成する
幅と高さのサイズを持つ黒色のイメージを表すイメージ識別子を返します。
戻り値: 成功した場合は画像リソースを返し、失敗した場合は FALSE を返します。

$width = 200;
$height = 100;
$img = imagecreatetruecolor($width,$height);

3. カラー管理

**int imagecolorallocate (resource $image, int $red, int $green, int $blue)**画像に色を割り当てる
red ,緑と青は、それぞれ目的の色の赤、緑、青の成分です。これらのパラメータは、0 ~ 255 の整数、または 16 進数の 0x00 ~ 0xFF

$color = imagecolorallocate($img,0xcc,0xcc,0xcc); // 灰色

4 です。Fill color

bool imagefill ( resource $image , int $x , int $ y , int $ color )
画像座標 x と y (画像の左上隅は 0, 0) が色で塗りつぶされます (つまり、x と y と同じ色のすべての点と隣接する点は、満たされます)。

imagefill($img,0,0,$color);

5. グラフィックとテキストを描画します

  1. imagesetpixel() イメージ image の x 座標と y 座標 (画像の左上隅) で色を使用します。画像は 0, 0) に点 を描きます。
    bool imagesetpixel ( resource $image , int $x , int $y , int $color )
    例: キャンバス上に 100 個の点をランダムに描画します
for ($i= 0; $i < 100; $i++) { 
	$color = imagecolorallocate($img,rand(0,25), rand(0,255), rand(0,255));
	$x = rand(0,$width);
	$y = rand(0,$height);
	imagesetpixel($img, $x, $y, $color);
}
  1. imageline() カラー color を使用して、イメージ image 内に座標 x1,y1 から x2,y2 (画像の左上隅が 0,0) までの線分を描画します。 bool imageline ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color )
    例: キャンバス上にランダムに 10 本の線分を描画します
    for ($i= 0; $i < 10; $i++) { 
    	$color = imagecolorallocate($img,rand(0,25), rand(0,255), rand(0,255));
    	$x = rand(0,$width);
    	$y = rand(0,$height);
    	$x1 = rand(0,$width);
    	$y1 = rand(0,$height);
    	imageline($img, $x, $y, $x1, $y1,$color);
    }
    imagerectangle()
  1. col color を使用して画像内に四角形 を描画します。その左上隅の座標は x1、y1、および座標です。右下隅の は x2、y2 です。画像の左上隅の座標は 0, 0 です。 #bool imagerectangle ( resource $image , intbool imagerectangle ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $col )

imagefilledrectangle()

イメージ image 内に色で塗りつぶされた
    rectangle
  1. を描画します。その左上隅の座標は x1、y1 であり、その座標は右下隅は x2 、 y2 です。0, 0 は画像の左上隅です。 bool imagefilledrectangle ( resource $image , int $x1 , int $y1 , int $ x2 , int $y2 , int $color )

##テキストを描画array imagettftext ( resource $image , float $size , float $anglearray imagettftext ( resource $image , float $size 、 float $angle 、 int $x 、 int $y 、 int $color 、 string $fontfile 、 string $text)

    size: フォントのサイズ。GD のバージョンに応じて、ピクセル サイズ (GD1) またはポイント (ポイント) サイズ (GD2)
  1. angle: 角度システムで表される角度、0 度はテキストが左から右に読まれることを意味します。値が大きいほど反時計回りの回転を意味します。たとえば、 90 度は、テキストが下から上に読まれることを意味します。
    x により、 y で表される座標は、最初の文字の基点 (おそらく文字の左下隅) を定義します。 color: カラー インデックス fontfile: は、使用する TrueType フォントへのパスです (私の場合、コンピューターの C ドライブの Windows フォント フォルダーで見つかります)
    text: UTF-8 でエンコードされたテキスト文字列

    $color = imagecolorallocate($img,154, 75, 65));
    $font = "simsunb.ttf";
    $str = "hello , how are you?";
    imagettftext($img, 30, 45, $x, $y, $color, $font, $str);

    6. 画像の出力

    3 つの方法 :

bool imagepng ( resource $image [, string $filename ] )

GD 画像ストリームを出力します (画像) を PNG 形式で標準出力 (通常はブラウザ) に出力するか、ファイル名を使用する場合は、ファイル名が指定されている場合は、そのファイルに出力します。

bool imagegif ( resource $image [, string $filename ] )
  • bool imagejpeg ( resource $image [, string $filename [, int
    $quality ]])
  • imagepng($img);
  • 7. イメージを破棄します

  • bool imagedestroy (resource $image)

イメージに関連付けられたメモリを解放します

imagedestroy($img);

  推荐学习:《PHP视频教程

以上がPHPで画像を作成する具体的な手順の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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