保持纵横比图
Keep aspect ratio figure
如何在调整图形大小时调整图像大小以保持宽度和高度之间的比例(F3/F4 应保持不变)?
f=figure();
F1=300;F2=300;F3=600;F4=300;
f.Position=[F1 F2 F3 F4];
您可以使用以下反馈功能来实现您想要的:
set(f,'SizeChangedFcn',@(src, callbackdata) onSizeChanged(src, F3, F4));
function onSizeChanged(src, F3, F4)
pos = src.Position;
scale = (pos(3)/F3 + pos(4)/F4)/2; % estimate the desired scale factor
% scale = min(pos(3)/F3, pos(4)/F4); % alternative
pos(3) = scale*F3;
pos(4) = scale*F4;
src.Position = pos;
end
另一种方法是使用 pbaspect
,但这会改变图的纵横比,而不是 window 本身。
如何在调整图形大小时调整图像大小以保持宽度和高度之间的比例(F3/F4 应保持不变)?
f=figure();
F1=300;F2=300;F3=600;F4=300;
f.Position=[F1 F2 F3 F4];
您可以使用以下反馈功能来实现您想要的:
set(f,'SizeChangedFcn',@(src, callbackdata) onSizeChanged(src, F3, F4));
function onSizeChanged(src, F3, F4)
pos = src.Position;
scale = (pos(3)/F3 + pos(4)/F4)/2; % estimate the desired scale factor
% scale = min(pos(3)/F3, pos(4)/F4); % alternative
pos(3) = scale*F3;
pos(4) = scale*F4;
src.Position = pos;
end
另一种方法是使用 pbaspect
,但这会改变图的纵横比,而不是 window 本身。