Hi, David. Many thanks for the quick response! I figured I wasn't using the right sub-class for the insert function.
Second, this image will *NOT* be included in "hard" output formats with the > version of PDL::Graphics::Prima that is currently on CPAN. I installed the git version of PDL::Drawing::Prima due to this <http://mailman.jach.hawaii.edu/pipermail/perldl/2013-October/008311.html> bug in the CPAN version. I am assuming I can just pull the P:G:P git repository in much the same fashion to get the rendering capability? I am using Prima 1.39. Thanks again! - Tim On Sun, Aug 3, 2014 at 8:59 AM, David Mertens <[email protected]> wrote: > Hey Tim, > > I'm a little rushed at the moment, but yes, you're on the right track. I > have two relevant comments. > > First, the way that you insert the figure isn't quite right. The name of > the widget is "ImageViewer" and the arguments aren't quite right. This will > probably do the trick (note I get rid of extraneous quotation when using > the "fat comma" operator; adjust for taste): > > ----%<---- > use Prima qw(Application ImageViewer); > > ... > > $wDisplay->insert(ImageViewer => > place => { > relx=>0.5, # relative x position runs from 0 - 1 (bare x is in pixels) > rely=>0.25, # relative y position runs from 0 - 1 > # probably also want to specify relwidth and/or relheight > anchor'=>'sw' > }, > image => $im, > ); > ---->%---- > > This will, with very high likelihood, display your image with scroll bars. > I hate this behavior of ImageViewer as it most certainly does not Do What I > Mean. For this reason I've created the StretchyImage widget, but I haven't > distributed it on CPAN quite yet. Partly for this reason, and partly for > other reasons, I have considered creating an Image Annotation. > > Second, this image will *NOT* be included in "hard" output formats with > the version of PDL::Graphics::Prima that is currently on CPAN. The newest > version, on Github, will work. It depends on the development version of > Prima, which has not yet hit CPAN either. I can give some instructions on > how to address this if you like. > > Hope that helps. Sorry for the rushed response. > David > > > On Sun, Aug 3, 2014 at 3:01 AM, Tim Haines <[email protected]> > wrote: > >> Hello, all. >> >> I'm trying to insert an image into a plot using Prima much as you would >> do with figimage from matplotlib. My (feeble) attempt is included below. I >> took a cue from the examples on the cpan site, but I couldn't get it to >> work. I have a feeling the Prima::Image class isn't a Prima::Drawable >> object and needs to be encapsulated in something that is, but how to do >> that elludes me. >> >> use PDL; >> use Prima qw(Application); >> use PDL::Graphics::Prima; >> >> my $t_data = sequence(5) * 0.5; >> my $y_data = cos($t_data); >> >> my $wDisplay = Prima::MainWindow->create( >> text => 'Graph Test', >> size => [400, 400], >> ); >> >> $wDisplay->insert('Plot', >> -function => ds::Func(\&PDL::cos, color => cl::Blue), >> -data => ds::Pair($t_data, $y_data, color => cl::Red), >> pack => { fill => 'both', expand => 1}, >> ); >> >> my $im = Prima::Image->load('m82_small.jpg'); >> die "$@" if $@; >> >> $im->set('width'=>100,'height'=>100, 'type'=> im::RGB); >> >> $wDisplay->insert('Image' => >> 'place' => {'x'=>0.5,'y'=>0.25,'anchor'=>'sw'}, >> '-data' => $im->data >> ); >> >> run Prima; >> >> >> Thanks in advance! >> >> - Tim >> >> >> _______________________________________________ >> Perldl mailing list >> [email protected] >> http://mailman.jach.hawaii.edu/mailman/listinfo/perldl >> >> > > > -- > "Debugging is twice as hard as writing the code in the first place. > Therefore, if you write the code as cleverly as possible, you are, > by definition, not smart enough to debug it." -- Brian Kernighan >
_______________________________________________ Perldl mailing list [email protected] http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
