[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Any way to remove an OPLOT from an image?

nicholas wrote:
>         I am searching for a way to remove an oplot from an image, without
> redrawing the image (it is an image overlaid onto a map projection).
> Currently I am using the XOR graphics function and redrawing the oplot
> to remove it, but this method looks bad. I would use a pixmap but the
> draw window is 950 x 700 and the oplot could be anywhere so I don't
> want to suffer a performance hit drawing such a large image. BTW, I am
> running VMS :(

I'm guessing you want to be able to press a button and have the OPLOT
overlay disappear, which also probably means you'd like to press another
button and have it re-appear. Here's what I'd do:

(1) Create one visible window and two pixmap windows, all of the same
(2) Render the image into the first pixmap window.
(3) Copy the contents of the first pixmap window into the second pixmap
window using DEVICE, COPY=[...].
(4) Render the OPLOT and any other graphics overlays into the second
pixmap window.
(5) Copy the first or second pixmap window (without or with graphics
overlays) to the visible window using DEVICE, COPY=[...], depending on
whether or not you want overlays.
(5) When you switch from overlays to no overlays, or vice versa, use
DEVICE, COPY=[...] to copy from the appropriate pixmap window to the
visible window.

99% of the overhead in this process is in steps (2) and (4). For this
application, the copy operations will happen in the blink of an eye. I
am confident this technique will work much better than the XOR graphics


Liam E. Gumley
Space Science and Engineering Center, UW-Madison