Azzera filtri
Azzera filtri

GUI Resize Image, but not updating in axes

4 visualizzazioni (ultimi 30 giorni)
I'm trying to resize an image, but the image itself within the axes stays the same in the gui no matter what scale factor I input
function upload_Callback(hObject, eventdata, handles)
% hObject handle to upload (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
[File, Path] = uigetfile({'*.*';'*.jpg';'*.png';'*.bmp'}, 'Image to be displayed');
filename = [Path, File];
image = imread(filename);
axes(handles.imgframe);
hold off
resize(filename, 4);
function resize(file, factor)
//Above all resize code did not include in the question
//figure();
imshow(img1_nearest);
end
my resize function works on its on when I put it in to a figure, but I'm trying to put the resize image back to the axes to display it. The image size is the same no matter what scale factor I put

Risposta accettata

Walter Roberson
Walter Roberson il 28 Apr 2018
Modificato: Walter Roberson il 28 Apr 2018
imshow() only automatically resizes the figure if the current axes is in the "default" position that would occur if the axes were the only thing in the figure.
imshow() never resizes just an axes by itself.
If you want to fit an axes around an image, then set the InnerPosition to be the same size as image (watch out that X is columns not rows), and set the axes DataAspectRatio to [1 1 1]. This will probably leave a gap around the axes for small images, and will probably cause the axes to overlap your other controls if you display a large enough image.

Più risposte (0)

Categorie

Scopri di più su Display Image in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by