GUI Resize Image, but not updating in axes
조회 수: 2 (최근 30일)
이전 댓글 표시
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
채택된 답변
Walter Roberson
2018년 4월 28일
편집: Walter Roberson
2018년 4월 28일
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.
댓글 수: 2
Walter Roberson
2018년 4월 28일
Sorry, I should have said Position; https://www.mathworks.com/help/matlab/ref/matlab.graphics.axis.axes-properties.html#budumk7_sep_shared-Position
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Migrate GUIDE Apps에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!