PHPのimagesetthickness()関数で線画の太さを設定する方法
imagesetthickness()は、PHPに組み込まれている関数の一つで、線を描画するときの太さ(ライン幅)を設定するために使用します。
構文
bool imagesetthickness($image, $thickness)
パラメータ
imagesetthickness()は、$imageと$thicknessという2つのパラメータを受け取ります。
$image − imagecreatetruecolor()などの画像生成関数によって返される画像リソースを指定します。このリソースをもとに画像のサイズが決定されます。
$thickness − 線の太さをピクセル単位で指定します。
戻り値
imagesetthickness()は、処理が成功した場合にtrueを返し、失敗した場合にはfalseを返します。
サンプルコード1:長方形の枠線の太さを変える
<?php
// 指定したサイズの画像を作成
$img = imagecreatetruecolor(700, 300);
$gray = imagecolorallocate($img, 0, 0, 255);
$white = imagecolorallocate($img, 0xff, 0xff, 0xff);
// 背景色を塗りつぶす
imagefilledrectangle($img, 0, 0, 700, 300, $gray);
// 線の太さを10ピクセルに設定
imagesetthickness($img, 10);
// 長方形を描画
imagerectangle($img, 30, 30, 200, 150, $white);
// 画像をブラウザに出力
header('Content-Type: image/png');
imagepng($img);
imagedestroy($img);
?>
出力結果

サンプルコード2:直線の太さを変える
<?php
// imagecreatetruecolor()関数で指定サイズの画像を作成
$img = imagecreatetruecolor(700, 300);
$blue = imagecolorallocate($img, 0, 0, 255);
$white = imagecolorallocate($img, 0xff, 0xff, 0xff);
// 背景色を塗りつぶす
imagefilledrectangle($img, 0, 0, 300, 200, $blue);
// 線の太さを50ピクセルに設定
imagesetthickness($img, 50);
// 白い直線を描画
imageline($img, 50, 50, 250, 50, $white);
// 画像をブラウザに出力
header('Content-Type: image/png');
imagepng($img);
imagedestroy($img);
?>
出力結果

このように、imagesetthickness()を使えば、imagerectangle()やimageline()などの描画関数で描かれる線の太さを自由にコントロールできます。デフォルトでは1ピクセルに設定されているため、太めの線や装飾的な図形を描きたい場合に非常に便利です。
-
PHPのimagecreatefromjpeg()関数でJPEGファイルから新しい画像を作成する方法
imagecreatefromjpeg()は、PHPに組み込まれている関数の一つで、JPEGファイルから新しい画像を生成するために使用されます。指定したファイル名から取得した画像を表す画像リソース識別子(イメージID)を返します。この関数は、GDライブラリが有効になっている環境で動作し、JPEG画像の読み込み、編集、再保存など、さまざまな画像処理の起点としてよく利用されます。構文resource imagecreatefromjpeg(string $filename)パラメータimagecreatefromjpeg()が受け取るパラメータは$filenameの1つだけです。ここには、読み込む
-
PHPのimagecreate()関数とは?使い方とサンプルコードを解説
PHPのimagecreate()関数は、新しい画像(イメージリソース)を作成するために使用されるGDライブラリの関数です。パレットベースの画像を生成し、その後の描画処理やテキスト追加などに利用できます。imagecreate()とimagecreatetruecolor()の違い画像を作成する際には、imagecreate()よりもimagecreatetruecolor()を使用することが推奨されています。これは、imagecreatetruecolor()で作成できるフルカラー(トゥルーカラー)画像の方が高品質であり、画像処理を最高品質の状態で行えるためです。特にグラデーションや写真のよ