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

version 1.32, 2003/07/31 20:38:12 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 325  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 $magickImage = Image::Magick->new;   my $currentImage = &Apache::randomlylabel::get_image('/home/httpd/html'.$image,1);
  my $currentImage = $magickImage->Read('/home/httpd/html'.$image);   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;   my $length = 6;
  $currentImage = $magickImage->Draw(primitive=>'line',   $currentImage->line($x-$length,$y-$length,$x+$length,$y+$length,$red);
    stroke=>'red',   $currentImage->line($x-$length,$y+$length,$x+$length,$y-$length,$red);
    points=>($x-$length).','.($y-$length).' '.  
    ($x+$length).','.($y+$length));   my ($nameWOext) = ($image =~ /^.*\/(.*)\..*$/);
  $currentImage = $magickImage->Draw(primitive=>'line',   &Apache::lonxml::debug("graph name $nameWOext");
    stroke=>'red',   my $webImageName = "/prtspool/$ENV{'user.name'}_$ENV{'user.domain'}_".
    points=>($x-$length).','.($y+$length).' '.      $nameWOext.'.png'; #needs to be more random or specific
    ($x+$length).','.($y-$length));  
  binmode STDOUT;  
  my ($graphExt) = ($image =~ /.*\.(.*)$/);  
  &Apache::lonxml::debug("graph mime type $graphExt");  
  my $webImageName = "/prtspool/$ENV{'user.name'}_$ENV{'user.domain'}_".(time).'.'.$graphExt; #needs to be more random  
  my $newImageName = '/home/httpd'.$webImageName;   my $newImageName = '/home/httpd'.$webImageName;
   
  $currentImage = $magickImage->Write($graphExt.':'.$newImageName);   my $imgfh = Apache::File->new('>'.$newImageName); 
  undef $magickImage;   print $imgfh $currentImage->png;
  $image = $webImageName;   $image = $webImageName;
     }      }
     &Apache::lonxml::debug("out image is $image");      &Apache::lonxml::debug("out image is $image");

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


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