ホームページ >バックエンド開発 >PHPチュートリアル >PHPのGDライブラリで水平点線が描けない問題の解決方法

PHPのGDライブラリで水平点線が描けない問題の解決方法

WBOY
WBOYオリジナル
2016-06-13 13:31:41822ブラウズ

PHP の GD ライブラリを使用して水平の点線を描画できません
次のコードを実行します

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->$img = imagecreatetruecolor(600, 600);
$white = imagecolorallocate($img, 255, 255, 255);
imagedashedline($img, 20, 20, 500, 20, $white);
imagedashedline($img, 20, 20, 20, 500, $white);
header("content-type:image/jpeg");
imagejpeg($img);
imagedestroy($img);

垂直の点線は問題ありませんが、水平の点線が描画できないことがわかります。行は表示されません。理由を知っている人はいますか?


-----解決策---------
PHP コード
$img = imagecreatetruecolor(600, 600);
$white = imagecolorallocate($img, 255, 255, 255);
$red = imagecolorallocate($img, 255, 0, 0);

$style = array($red, $red, $red, $red, $red, $white, $white, $white, $white, $white);
imagesetstyle($img, $style);
イメージライン($img, 20, 20, 500, 20, IMG_COLOR_STYLED);

header("コンテンツタイプ:画像/jpeg");
imagejpeg($img);
imagedestroy($img);
<br><font color="#e78608">------解決策---------</font><br>「michi at marel dot at 」によって報告されたバグこの関数は PHP バージョン 5.1.1 にも存在します。この関数は垂直線でのみ機能します。バージョン 5.1.1 にはバグがあるため、この関数の使用は推奨されません。 imagesetstyle() と imageline() の組み合わせに置き換える必要があります。
<br><font color="#e78608">------解決策------</font><br>この関数は縦線のみで動作します。描ける!
<br><font color="#e78608">------解決策---------</font><br>確かに、GDライブラリは縦方向の点線しか描画できません。ライン! <div class="clear"></div>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。