GUI - "entrance effect"
Show older comments
Hello, what's the best way to create in matlab GUI (GUIDE) a "entrance effect". I mean, like you have in power point animation.
I have a certain image, let's say size = [1000 1000]. I'd like to show first (:,1:100) then (:,101:200) and so forth.
If I simply try to imagesc a certain slice of my image, it gets "smeared" all over the axes. How can draw each column of the matrix image at it's right location?
Also, what's the best way create a "smooth entrance left-to-right" effect? I was thinking on working with pause...is there a better approach? You know, something like the entrance speed you have in Power Point...
Answers (1)
Walter Roberson
on 22 Jan 2016
0 votes
You can pass x and y coordinates of the corners to imagesc(). Please read the documentation about what the coordinates represent as you will probably want to add 1/2 to the "natural" coordinates to use.
6 Comments
Mark Golberg
on 22 Jan 2016
Edited: Mark Golberg
on 22 Jan 2016
Walter Roberson
on 22 Jan 2016
[nrow, ncol, npane] = size(YourImage);
ax = gca;
set(ax, 'Xlim', [0 ncol], 'YLim', [0, nrow], 'DataAspectRatio', [1 1 1]);
for right_col = 10 : 10 : ncol
image(1/2 + [0 right_col], 1/2 + [0 nrow], YourImage(:,1:right_col,:));
pause(1);
end
if right_col ~= ncol
image(1/2 + [0 ncol], 1/2 + [0 nrow], YourImage);
end
Mark Golberg
on 22 Jan 2016
Image Analyst
on 22 Jan 2016
That's called a "transition" animation effect in Powerpoint. Do you want the whole axes control to slide in from the right, or do you want the axes to be in one spot (part of the whole screen) and have the image slide into the axes control from the right?
Mark Golberg
on 22 Jan 2016
Walter Roberson
on 22 Jan 2016
I keep forgetting that the axes limits are cleared for new drawing if hold is not on.
Categories
Find more on Image Arithmetic in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!