GD::Arrow 0.01 妙日本語訳

この妙日本語訳はエキサイト翻訳:英語翻訳を利用しつつ、のーみそコネコネして作成しました。
GD::Arrowモジュールのバージョンは0.01です。

目次

名前

GD::Arrow – GDを利用して矢印を描画する

概略

use GD;
use GD::Arrow;
my $width = 8;
my ($x1, $y1) = (100, 10);
my ($x2, $y2) = (100, 190);
my ($x3, $y3) = (10, 30);
my ($x4, $y4) = (190, 75);
my $arrow = GD::Arrow::Full->new( 
                -X1    => $x1, 
                -Y1    => $y1, 
                -X2    => $x2, 
                -Y2    => $y2, 
                -WIDTH => $width,
            );
my $image = GD::Image->new(200, 200);
my $white = $image->colorAllocate(255, 255, 255);
my $black = $image->colorAllocate(0, 0, 0);
my $blue = $image->colorAllocate(0, 0, 255);
my $yellow = $image->colorAllocate(255, 255, 0);
$image->transparent($white);
$image->filledPolygon($arrow,$blue);
$image->polygon($arrow,$black);
my $half_arrow_1 = GD::Arrow::LeftHalf->new( 
                       -X1    => $x3, 
                       -Y1    => $y3, 
                       -X2    => $x4, 
                       -Y2    => $y4, 
                       -WIDTH => $width,
                   );
my $half_arrow_2 = GD::Arrow::LeftHalf->new( 
                       -X1    => $x4, 
                       -Y1    => $y4, 
                       -X2    => $x3, 
                       -Y2    => $y3, 
                       -WIDTH => $width 
                   );
$image->filledPolygon($half_arrow_1,$blue);
$image->polygon($half_arrow_1,$black);
$image->filledPolygon($half_arrow_2,$yellow);
$image->polygon($half_arrow_2,$black);
open IMAGE, "> image.png" or die $!;
binmode(IMAGE, ":raw");
print IMAGE $image->png;
close IMAGE;
exit(0);

説明

これは2点の間に矢を描くのに使用される、GD::polygonのサブクラスです。
GD::Arrow::Full 2点の間に完全な矢を描きます。
                                  |\
           +----------------------+ \
  (X2, Y2) *                         * (X1, Y1)
           +----------------------+ /
                                  |/
GD::Arrow::RightHalf 2点の間に半分の矢を描きます。
  (X2, Y2) *-------------------------* (X1, Y1)
           +----------------------+ /
                                  |/
GD::Arrow::LeftHalf 2点の間に半分の矢を描きます。
                                  |\
           +----------------------+ \
  (X2, Y2) *-------------------------* (X1, Y1)

参照

GD::Polygon

クレジット

The equations used to determine the critical verticies to represent a GD::Arrow
2点からGD::Arrowのために使用される方程式は、オノヒデキのmakefeedmapソフトウェアに基づいています。
Makefeedmapは、http://www.ono.org/software/makefeedmap/で参照することができます。

作者

Todd Caine, <todd@pobox.com>

Copyright 2004 by Todd Caine
このライブラリはフリーソフトウェアです。
Perlと同じ条件で再配布、または変更することが出来ます。

更新履歴

2008-04-03
サイト移動に伴うHTMLの修正(旧URI:[廃止])
2006-06-13
公開

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です