version 1.33, 2003/08/01 14:22:07
|
version 1.35, 2003/09/22 20:49:01
|
Line 31
|
Line 31
|
#currently |
#currently |
|
|
package Apache::imageresponse; |
package Apache::imageresponse; |
|
use Apache::randomlylabel; |
use strict; |
use strict; |
use Image::Magick; |
use Image::Magick; |
use GD; |
use GD; |
Line 112 sub displayfoils {
|
Line 113 sub displayfoils {
|
if ($target eq 'tex') {$result.="\\vskip 0 mm \n";} else {$result.="<br />\n";} |
if ($target eq 'tex') {$result.="\\vskip 0 mm \n";} else {$result.="<br />\n";} |
my $image=$Apache::response::foilgroup{"$name.image"}; |
my $image=$Apache::response::foilgroup{"$name.image"}; |
&Apache::lonxml::debug("image is $image"); |
&Apache::lonxml::debug("image is $image"); |
if ($Apache::lonhomework::history{"resource.$Apache::inputtags::part.solved"} =~ /^correct/ ) { |
if ( &Apache::response::show_answer() ) { |
if ($target eq 'tex') { |
if ($target eq 'tex') { |
$result.=$Apache::response::foilgroup{"$name.image"}."\\vskip 0 mm \n"; |
$result.=$Apache::response::foilgroup{"$name.image"}."\\vskip 0 mm \n"; |
} else { |
} else { |
Line 314 sub start_image {
|
Line 315 sub start_image {
|
return $result; |
return $result; |
} |
} |
|
|
sub get_image { |
|
my ($imgsrc,$set_trans)=@_; |
|
my $image; |
|
if ($imgsrc !~ /\.(png|jpg|jpeg)$/i) { |
|
my $conv_image = Image::Magick->new; |
|
my $current_figure = $conv_image->Read('filename'=>$imgsrc); |
|
$conv_image->Set('magick'=>'png'); |
|
my @blobs=$conv_image->ImageToBlob(); |
|
undef $conv_image; |
|
$image = GD::Image->new($blobs[0]); |
|
} else { |
|
GD::Image->trueColor(1); |
|
$image = GD::Image->new($imgsrc); |
|
} |
|
if ($set_trans && defined($image)) { |
|
my $white=$image->colorExact(255,255,255); |
|
if ($white != -1) { $image->transparent($white); } |
|
} |
|
return $image; |
|
} |
|
|
|
sub end_image { |
sub end_image { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my $result; |
my $result; |
Line 348 sub end_image {
|
Line 328 sub end_image {
|
my $y=$ENV{"form.HWVAL_$id:$temp.y"}; |
my $y=$ENV{"form.HWVAL_$id:$temp.y"}; |
if (defined ($x) && defined ($y)) { |
if (defined ($x) && defined ($y)) { |
&Apache::lonxml::debug("x and y defined as $x,$y"); |
&Apache::lonxml::debug("x and y defined as $x,$y"); |
my $currentImage = &get_image('/home/httpd/html'.$image,1); |
my $currentImage = &Apache::randomlylabel::get_image('/home/httpd/html'.$image,1); |
if (! defined($currentImage)) { |
if (! defined($currentImage)) { |
&Apache::lonnet::logthis('Unable to create image object for '.$image); |
&Apache::lonnet::logthis('Unable to create image object for '.$image); |
return ''; |
return ''; |