a problem when I change patch's edgealpha property in scrollpanel

I wrote a GUI program in which, you load an image file first, and then, you can add circles on it by clicking button named " add circles", and then you can change the circles's transparency by dragging a scrollbar. Because the image file is very big comparing to the GUI window, so I used a scrollpanel to show it. And all the positions and radius of circles can be read from a .mat file. I drew all the circles using patch function. But when I set the patches's edgealpha property, all the image behind the scrollpanel will show out. Only when the edgealpha equals zero, it will show the image part inside the scrollpanel. I donot know how to solve it. Can anybody help me? Thanks a lot.

3 Comments

Presumably this has something to do with switching renderers. When the EdgeAlpha becomes non-zeros, MATLAB will automatically change the figure's renderer to 'OpenGL'. It's unclear why that is causing the image to go away, though. Can you provide any reproduction steps that work outside the GUI?
Oh, good thought -- but wouldn't the switch of renderers happen when the alpha became non-*one* ?
Fred, is the scroll-panel implemented as a uipanel? If so which MATLAB version are you using, and which OS? There are known problems in some versions with clipping of uipanels. _Some_ of those problems occur only for uicontrols within the panel. I find reports about clipping problems for patches, especially for OpenGL; one of those reports was towards the end of 2010 (i.e., existed at least as late as 2010b.)
I suggest searching the bug database.
Yes, the scrollpanel implemented as a uipanel. Now, I changed to R2011a version,but this problem still exists. Any other workaround? Thank you.

Answers (0)

This question is closed.

Asked:

on 7 Jun 2011

Closed:

on 20 Aug 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!