2011年10月27日

少し苦戦…… imagedashedline関数


お菓子って前ほど食べないんだけど、
最近スナック菓子のポテコにはまってます。
無性に食べたくなるときがあって、今日も買ってしまいました(^^;)


imagedashedline は点線を描ける関数です。

基本の形はこちら↓
imagedashedline(画像, 開始地点のX座標, 開始地点のY座標,
終了地点のX座標, 終了地点のY座標, 色)

色は imagecolorallocate が返すものとなります。

これがねぇ、そんなにスムーズにはいかなかったんですよ(-_-)
まずはこちらを見てください↓

<?php
//既存の画像ファイルを読み込む
$image = imagecreatefrompng("red.png");
//色(黒)の設定
$black = imagecolorallocate($image, 0, 0, 0);
//点線を描く
imagedashedline($image, 50, 25, 50, 75, $black);
//ブラウザに出力
header("Content-Type: image/png");
imagepng($image);
?>

赤い画像に黒い点線が描かれました。
これは上手くいったんです。

次に以下の2つのコードを見てください。

<?php
//既存の画像ファイルを読み込む
$image = imagecreatefrompng("black.png");
//色(白)の設定
$white = imagecolorallocate($image, 255, 255, 255);
//点線を描く
imagedashedline($image, 10,10, 150, 130, $white);
//ブラウザに出力
header("Content-Type: image/png");
imagepng($image);
?>

2つ目はこちら↓

<?php
//既存の画像ファイルを読み込む
$image = imagecreatefrompng("black.png");
//色(白)の設定
$white = imagecolorallocate($image, 255, 255, 255);
//点線を描く
imagedashedline($image, 25, 50, 75, 50, $white);
//ブラウザに出力
header("Content-Type: image/png");
imagepng($image);
?>

両方とも点線が描けませんでした(>_<)
1つ目は斜めの点線、2つ目は横の点線になるはずなのに……。
斜めと横はダメなんでしょうか?

最後に少しX座標とY座標を変えて、
もう1度縦線にトライしてみました↓

<?php
//既存の画像ファイルを読み込む
$image = imagecreatefrompng("black.png");
//色(白)の設定
$white = imagecolorallocate($image, 255, 255, 255);
//点線を描く
imagedashedline($image, 100, 50, 100, 150, $white);
//ブラウザに出力
header("Content-Type: image/png");
imagepng($image);
?>

やっぱりこれはできるんですよねぇ。
黒い画像に白い縦の点線が引かれました。

imagedasehdline はどうも古い関数らしくて、
本来は imagesetstyle と imageline を使う方がいいみたいなんだけど、
うまくいかないのはそのせいでしょうか……?


<ご紹介>----------------------------------------------------------------------------------------

gamification.jpg

ゲーミフィケーション辞典48 19,800円

----------------------------------------------------------------------------------------<ご紹介>



こちらのページも参考にさせていただきました↓

PHP: imagdasehdline - Manual

ありがとうございました<(_ _)>


関連する関数はこちらです↓
imageline関数はできるかどうか不安です
imagecreatefrompng関数はもう何度使ったかなぁ
imagepng関数は挑戦というより復習です
header関数
imagecolorallocate関数を学びながら imagefill関数も予習



posted by れい at 23:37| Comment(0) | 画像関数 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

×

この広告は1年以上新しい記事の投稿がないブログに表示されております。