Print

Print


Hello,

I have never done this so hopefully somebody will give you a better
suggestion but  Display2d (and cognates) is a JComponent so you should be
able to attach the portrayal to the display2d, feed a BufferedImage's
graphics object to the display2d paint(g) method and get a fixed image out
of it. Something like this:
http://stackoverflow.com/questions/1349220/convert-jpanel-to-image

You'd probably have to listen to resize events to redraw the image and so
on, but it may be what you are looking for.

Portrayals have their own draw(g,x,y) method so there might be a faster,
direct way of painting images from them but I am not really sure what the
DrawInfo2D argument would look like.

Good luck.



On Tue, Sep 8, 2015 at 9:26 AM Tschanen Miriam <[log in to unmask]>
wrote:

> Hi all,
>
> A while ago I mentioned that I was trying to display static JUNG graphs
> with a MASON portrayal class. The display is working very well at the
> moment (in no small part due to the help I received), but constantly
> redrawing the graph is putting a heavy load on my system. If I remember
> correctly, Sean suggested caching the graph as an image and redrawing that
> instead, since the underlying data never changes. This should give me a
> nice boost in performance.
>
> I was hoping someone could give me a few pointers on how to actually do
> that. There's a tutorial about displaying an image in a portrayal in the
> MASON How-Tos (
> https://cs.gmu.edu/~eclab/projects/mason/docs/howto.html#display2d), but
> I can't figure out how to store my graph as an image in the first place.
> There must be a way to rewire the output of my portrayal class to draw
> directly into the image. Any help would be much appreciated.
>
> Cheers,
> Miriam Tschanen
>