version 1.20, 2004/07/15 18:06:09
|
version 1.21, 2004/09/09 07:24:56
|
Line 137 sub handler {
|
Line 137 sub handler {
|
my $imcolor=&get_color_from_hexstring($image,$color); |
my $imcolor=&get_color_from_hexstring($image,$color); |
if (!defined($thickness)) { $thickness=1; } |
if (!defined($thickness)) { $thickness=1; } |
$image->setThickness($thickness); |
$image->setThickness($thickness); |
$image->setAntiAliased($imcolor); |
# $image->setAntiAliased($imcolor); |
$image->line($x1,$y1,$x2,$y2,gdAntiAliased); |
$image->line($x1,$y1,$x2,$y2,$imcolor); |
} elsif ($type eq 'RECTANGLE') { |
} elsif ($type eq 'RECTANGLE') { |
my ($x1,$y1,$x2,$y2,$color,$thickness,$filled)= |
my ($x1,$y1,$x2,$y2,$color,$thickness,$filled)= |
split(':',$ENV{"cgi.$id.OBJ$i"}); |
split(':',$ENV{"cgi.$id.OBJ$i"}); |
Line 154 sub handler {
|
Line 154 sub handler {
|
$image->rectangle($x1,$y1,$x2,$y2,$imcolor); |
$image->rectangle($x1,$y1,$x2,$y2,$imcolor); |
} |
} |
} elsif ($type eq 'POLYGON') { |
} elsif ($type eq 'POLYGON') { |
my ($color,$width,$open)=split(':',$ENV{"cgi.$id.OBJ$i"}); |
my ($color,$width,$open,$filled)=split(':',$ENV{"cgi.$id.OBJ$i"}); |
my $imcolor=&get_color_from_hexstring($image,$color); |
my $imcolor=&get_color_from_hexstring($image,$color); |
my $polygon = (($open) ? (new GD::Polyline) : (new GD::Polygon)); |
my $polygon = (($open && lc ($open ne 'no')) ? |
|
(new GD::Polyline) : (new GD::Polygon)); |
my $added=0; |
my $added=0; |
foreach my $coord (split('-',$ENV{"cgi.$id.OBJEXTRA$i"})) { |
foreach my $coord (split('-',$ENV{"cgi.$id.OBJEXTRA$i"})) { |
my ($x,$y)=($coord=~m/\(([0-9]+),([0-9]+)\)/); |
my ($x,$y)=($coord=~m/\(([0-9]+),([0-9]+)\)/); |
Line 166 sub handler {
|
Line 167 sub handler {
|
|
|
$image->setThickness($width); |
$image->setThickness($width); |
if ($added) { |
if ($added) { |
if ($open) { |
if ($open && lc($open) ne 'no') { |
$image->polydraw($polygon,$imcolor); |
$image->polydraw($polygon,$imcolor); |
|
} elsif ($filled && lc($filled) ne 'no') { |
|
$image->filledPolygon($polygon,$imcolor); |
} else { |
} else { |
$image->polygon($polygon,$imcolor); |
$image->polygon($polygon,$imcolor); |
} |
} |
Line 192 sub handler {
|
Line 195 sub handler {
|
my $imcolor=&get_color_from_hexstring($image,$color); |
my $imcolor=&get_color_from_hexstring($image,$color); |
$image->fill($x,$y,$imcolor); |
$image->fill($x,$y,$imcolor); |
} elsif ($type eq 'IMAGE') { |
} elsif ($type eq 'IMAGE') { |
my ($x,$y,$file,$transparent)=split(':',$ENV{"cgi.$id.OBJ$i"}); |
my ($x,$y,$file,$transparent,$srcX,$srcY,$destW,$destH,$srcW, |
|
$srcH)=split(':',$ENV{"cgi.$id.OBJ$i"}); |
$file=&Apache::lonnet::unescape($file); |
$file=&Apache::lonnet::unescape($file); |
if (!defined($transparent)) { $transparent=1; } |
if (!defined($transparent)) { $transparent=1; } |
my $subimage=&get_image($file,$transparent); |
my $subimage=&get_image($file,$transparent); |
Line 201 sub handler {
|
Line 205 sub handler {
|
$file); |
$file); |
next; |
next; |
} |
} |
$image->copy($subimage,$x,$y,0,0,$subimage->getBounds()); |
if (!defined($srcW) or !$srcW) {$srcW=($subimage->getBounds())[0];} |
|
if (!defined($srcH) or !$srcH) {$srcH=($subimage->getBounds())[1];} |
|
if (!defined($destW) or !$destW) { $destW=$srcW; } |
|
if (!defined($destH) or !$destH) { $destH=$srcH; } |
|
$image->copyResized($subimage,$x,$y,$srcX,$srcY,$destW,$destH, |
|
$srcW,$srcH); |
} elsif ($type eq 'LABEL') { |
} elsif ($type eq 'LABEL') { |
my ($x,$y,$text,$font,$color,$direction)= |
my ($x,$y,$text,$font,$color,$direction)= |
split(':',$ENV{"cgi.$id.OBJ$i"}); |
split(':',$ENV{"cgi.$id.OBJ$i"}); |
Line 221 sub handler {
|
Line 230 sub handler {
|
} elsif ($font eq 'large') { |
} elsif ($font eq 'large') { |
$height=GD::Font->Large->height; |
$height=GD::Font->Large->height; |
$fontref=GD::gdLargeFont; |
$fontref=GD::gdLargeFont; |
} elsif ($font eq 'giant' || !defined($font)) { |
} elsif ($font eq 'giant' || !$font) { |
$height=GD::Font->Giant->height; |
$height=GD::Font->Giant->height; |
$fontref=GD::gdGiantFont; |
$fontref=GD::gdGiantFont; |
} else { |
} else { |