Diff for /loncom/homework/imageresponse.pm between versions 1.31.2.1 and 1.34

version 1.31.2.1, 2003/09/23 01:52:57 version 1.34, 2003/08/01 15:50:43
Line 25 Line 25
 #  #
 # http://www.lon-capa.org/  # http://www.lon-capa.org/
 #  #
   # July,August 2003 H. K. Ng
   #
 #FIXME LATER assumes multiple possible submissions but only one is possible   #FIXME LATER assumes multiple possible submissions but only one is possible 
 #currently  #currently
   
 package Apache::imageresponse;  package Apache::imageresponse;
   use Apache::randomlylabel;
 use strict;  use strict;
 use Image::Magick;  use Image::Magick;
   use GD;
   
 BEGIN {  BEGIN {
   &Apache::lonxml::register('Apache::imageresponse',('imageresponse'));    &Apache::lonxml::register('Apache::imageresponse',('imageresponse'));
Line 110  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::response::show_answer() ) {      if ($Apache::lonhomework::history{"resource.$Apache::inputtags::part.solved"} =~ /^correct/ ) {
       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 318  sub end_image { Line 321  sub end_image {
   my $name = $Apache::imageresponse::curname;    my $name = $Apache::imageresponse::curname;
   if ($target eq 'web') {    if ($target eq 'web') {
     my $image = &Apache::lonxml::endredirection;      my $image = &Apache::lonxml::endredirection;
     &Apache::lonxml::debug("out is $image");      &Apache::lonxml::debug("original image is $image");
       my $id=$Apache::inputtags::response['-1'];
       my $temp=1;
       my $x=$ENV{"form.HWVAL_$id:$temp.x"};
       my $y=$ENV{"form.HWVAL_$id:$temp.y"};
       if (defined ($x) && defined ($y)) {
    &Apache::lonxml::debug("x and y defined as $x,$y");
    my $currentImage = &Apache::randomlylabel::get_image('/home/httpd/html'.$image,1);
    if (! defined($currentImage)) {
       &Apache::lonnet::logthis('Unable to create image object for '.$image);
       return '';
    }
    my $red;
    if (!($red = $currentImage->colorResolve(255,0,0))) {
       $red = $currentImage->colorClosestHWB(255,0,0);
    }
    my $length = 6;
    $currentImage->line($x-$length,$y-$length,$x+$length,$y+$length,$red);
    $currentImage->line($x-$length,$y+$length,$x+$length,$y-$length,$red);
   
    my ($nameWOext) = ($image =~ /^.*\/(.*)\..*$/);
    &Apache::lonxml::debug("graph name $nameWOext");
    my $webImageName = "/prtspool/$ENV{'user.name'}_$ENV{'user.domain'}_".
       $nameWOext.'.png'; #needs to be more random or specific
    my $newImageName = '/home/httpd'.$webImageName;
   
    my $imgfh = Apache::File->new('>'.$newImageName); 
    print $imgfh $currentImage->png;
    $image = $webImageName;
       }
       &Apache::lonxml::debug("out image is $image");
     if ( $Apache::imageresponse::conceptgroup      if ( $Apache::imageresponse::conceptgroup
  && !&Apache::response::showallfoils()) {   && !&Apache::response::showallfoils()) {
       $Apache::response::conceptgroup{"$name.image"} = $image;        $Apache::response::conceptgroup{"$name.image"} = $image;

Removed from v.1.31.2.1  
changed lines
  Added in v.1.34


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>