How to use full axes area when zooming image in App GUI
2 次查看(过去 30 天)
显示 更早的评论
I plot an image using imshow in an axis in my APP GUI. Then there can be zoomed in to see details.
Now when you zoom in, only the part where the original image was, shows the zoomed image. All the area around it stays empty. Is there any way to make the zoomed image fill the entire axis area, without distorting the image shape?
original view (see the empty space on the sides):
zoomed in image: empty space on the sides remain, which is very annoying, certainly for images that are super slender). I'd like to have the zoomed image fill up the entire available space.
I already found out about imscrollpanel (and ImageAnalyst's zoom demo), but it doesn't work in an app UI...
Thanks!
1 个评论
DGM
2022-3-18
It might not be a complete answer, but this is what I did:
Then again, I was using that with akzoom() and other things which can get flaky in some scenarios in newer versions.
You're right though. It's really annoying.
回答(1 个)
Igor Varfolomeev
2024-9-1
编辑:Igor Varfolomeev
2024-9-1
Try this:
imshow('corn.tif')
set(gca, 'Clipping', 'off')
Zooming with Clipping set to on :
Zooming with Clipping set to off (the image fills all the available area):
One drawback is that xlim and ylim behave somewhat unexpectedly in this mode. To feel this, try the following:
set(gca,'yLim',[100, 101])
The result looks like this (the visible part of the image is clearly higher than 2 pixels):
Still, this is sort of acceptable for image viewing (I use this to plot a grid of images, using GUILayout GridFlex .
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Exploration 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!