Diff for /loncom/homework/randomlabel.pm between versions 1.72 and 1.73

version 1.72, 2005/04/18 21:41:51 version 1.73, 2005/05/16 21:58:19
Line 60  use Apache::edit; Line 60  use Apache::edit;
 use Apache::File();  use Apache::File();
 use Apache::Constants qw(:common :http);  use Apache::Constants qw(:common :http);
 use Image::Magick;  use Image::Magick;
   use Apache::lonplot;
   
 my %args;  my %args;
 my $cgi_id;  my $cgi_id;
   my $scale_factor; # image scale factor.
   
 BEGIN {  BEGIN {
     &Apache::lonxml::register('Apache::randomlabel',('randomlabel','labelgroup','location','label','bgimg'));      &Apache::lonxml::register('Apache::randomlabel',('randomlabel','labelgroup','location','label','bgimg'));
Line 161  sub end_bgimg { Line 163  sub end_bgimg {
     $bgimg=&Apache::imageresponse::clean_up_image($bgimg);      $bgimg=&Apache::imageresponse::clean_up_image($bgimg);
     $args{"cgi.$cgi_id.BGIMG"}=&Apache::lonnet::escape($bgimg);      $args{"cgi.$cgi_id.BGIMG"}=&Apache::lonnet::escape($bgimg);
  } elsif ($target eq 'tex') {   } elsif ($target eq 'tex') {
     $result.=&make_eps_image($bgimg,$parstack,$safeeval,-2);      #   Some bg images can create latex for us... e.g. gnuplot.
       #   If it looks like we have some latex use that, 
       #   otherwise, assume this is a resource name that must
       #   be converted into the latex to create an eps insertion.
       #
       my $src = $bgimg;
       $src =~ s/\s+$//s;
       $src =~ s/^\s+//s;
       
   
       if ($src =~ /^\\graphicspath/) {
           $height_param = $Apache::lonplot::plot{'height'}*0.3;
    $width_param  = $Apache::lonplot::plot{'width'}*0.3;
    &Apache::lonxml::debug("height $height_param");
    &Apache::lonxml::debug("Width $width_param");
    $scale_factor=1.0;
    my $dirty_width = $width_param + 5;
    $result .= '\parbox{'.$dirty_width.'mm}{';
    $result  .= $src;
    $result  .= '\begin{picture}('."$height_param,$width_param)";
    $result  .= "(0,-$height_param)";
       } else {
   
   
    $result.=&make_eps_image($bgimg,$parstack,$safeeval,-2);
       }
  }   }
     }      }
     return $result;      return $result;
 }  }
 my $scale_factor; # image scale factor.  
 sub make_eps_image {  sub make_eps_image {
     my ($bgimg,$parstack,$safeeval,$depth)=@_;      my ($bgimg,$parstack,$safeeval,$depth)=@_;
       &Apache::lonxml::debug("image prior to get_eps_image: $bgimg");
     my ($path,$file) = &Apache::londefdef::get_eps_image($bgimg);      my ($path,$file) = &Apache::londefdef::get_eps_image($bgimg);
       &Apache::lonxml::debug("image after:  $bgimg");
     ($height_param,$width_param)=      ($height_param,$width_param)=
  &Apache::londefdef::image_size($bgimg,0.3,$parstack,$safeeval,   &Apache::londefdef::image_size($bgimg,0.3,$parstack,$safeeval,
        $depth,1);         $depth,1);
   
       &Apache::lonxml::debug("Image size: $height_param x $width_param");
   
     my $dirtywidth=$width_param+5;      my $dirtywidth=$width_param+5;
     my $result ="\n".'\vspace*{2mm}\noindent'."\n".      my $result ="\n".'\vspace*{2mm}\noindent'."\n".
  '\parbox{'.$dirtywidth.   '\parbox{'.$dirtywidth.
Line 183  sub make_eps_image { Line 214  sub make_eps_image {
     my $magick = Image::Magick->new;      my $magick = Image::Magick->new;
     $magick->Read($bgimg);      $magick->Read($bgimg);
     my $initial_width = $magick->Get('width');      my $initial_width = $magick->Get('width');
       &Apache::lonxml::debug("ImageMagick thinks width is; $initial_width");
     $scale_factor = $width_param / $initial_width;      $scale_factor = $width_param / $initial_width;
     return $result;      return $result;
 }  }

Removed from v.1.72  
changed lines
  Added in v.1.73


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