version 1.10, 2003/11/10 23:29:27
|
version 1.11, 2003/11/11 00:25:24
|
Line 60 sub get_image {
|
Line 60 sub get_image {
|
sub handler { |
sub handler { |
my $r = shift; |
my $r = shift; |
$r->content_type('image/png'); |
$r->content_type('image/png'); |
my (undef,$token) = split(/=/,$ENV{'QUERY_STRING'}); |
my (undef,$id) = split(/=/,$ENV{'QUERY_STRING'}); |
&Apache::loncommon::get_unprocessed_cgi( |
my $image=&get_image(&Apache::lonnet::unescape($ENV{"cgi.$id.BGIMG"}),0); |
&Apache::lonnet::unescape($ENV{'imagerequest.'.$token})); |
|
my $image=&get_image($ENV{"form.BGIMG"},0); |
|
if (! defined($image)) { |
if (! defined($image)) { |
&Apache::lonnet::logthis('Unable to create image object for '. |
&Apache::lonnet::logthis('Unable to create image object for -'.$id.'-'. |
$ENV{"form.BGIMG"}); |
$ENV{"cgi.$id.BGIMG"}); |
return OK; |
return OK; |
} |
} |
#binmode(STDOUT); |
#binmode(STDOUT); |
Line 74 sub handler {
|
Line 72 sub handler {
|
if (!($black=$image->colorResolve(0,0,0))) { |
if (!($black=$image->colorResolve(0,0,0))) { |
$black = $image->colorClosestHWB(0,0,0); |
$black = $image->colorClosestHWB(0,0,0); |
} |
} |
for(my $i=0;$i<$ENV{"form.ICOUNT"};$i++) { |
for(my $i=0;$i<$ENV{"cgi.$id.ICOUNT"};$i++) { |
my $subimage=&get_image($ENV{"form.IMG$i"},1); |
my $subimage=&get_image(&Apache::lonnet::unescape($ENV{"cgi.$id.IMG$i"}),1); |
if (!defined($subimage)) { |
if (!defined($subimage)) { |
&Apache::lonnet::logthis('Unable to create image object for '. |
&Apache::lonnet::logthis('Unable to create image object for '. |
$ENV{"form.BGIMG"}); |
$ENV{"cgi.$id.BGIMG"}); |
next; |
next; |
} |
} |
$image->copy($subimage,$ENV{"form.IX$i"},$ENV{"form.IY$i"}, |
$image->copy($subimage,$ENV{"cgi.$id.IX$i"},$ENV{"cgi.$id.IY$i"}, |
0,0,$subimage->getBounds()); |
0,0,$subimage->getBounds()); |
} |
} |
my $height=GD::Font->Giant->height; |
my $height=GD::Font->Giant->height; |
for(my $i=0;$i<$ENV{"form.COUNT"};$i++) { |
for(my $i=0;$i<$ENV{"cgi.$id.COUNT"};$i++) { |
$image->string(gdGiantFont,$ENV{"form.X$i"},$ENV{"form.Y$i"}-$height, |
$image->string(gdGiantFont,$ENV{"cgi.$id.X$i"}, |
$ENV{"form.LB$i"},$black); |
$ENV{"cgi.$id.Y$i"}-$height, |
|
&Apache::lonnet::unescape($ENV{"cgi.$id.LB$i"}),$black); |
} |
} |
for(my $i=0;$i<$ENV{"form.LINECOUNT"};$i++) { |
for(my $i=0;$i<$ENV{"cgi.$id.LINECOUNT"};$i++) { |
my $x1=$ENV{"form.LINEX1$i"}; |
my ($x1,$y1,$x2,$y2,$color,$width)=split(':',$ENV{"cgi.$id.LINE$i"}); |
my $y1=$ENV{"form.LINEY1$i"}; |
|
my $x2=$ENV{"form.LINEX2$i"}; |
|
my $y2=$ENV{"form.LINEY2$i"}; |
|
my $width=$ENV{"form.LINEW$i"}; |
|
my $color=$ENV{"form.LINEC$i"}; |
|
my (undef,$red,undef,$green,undef,$blue)=split(/(..)/,$color); |
my (undef,$red,undef,$green,undef,$blue)=split(/(..)/,$color); |
$red=hex($red);$green=hex($green);$blue=hex($blue); |
$red=hex($red);$green=hex($green);$blue=hex($blue); |
my $imcolor; |
my $imcolor; |