记住matlab中的图形属性

时间:2016-02-04 09:47:26

标签: matlab set figure imshow

情况如下:我使用两个显示器,辅助显示器用于显示图像。我想要做的是制作一个图形并设置其属性(大小,位置等),然后在该图中显示不同的图像,而不必每次都重新定义尺寸/位置属性。

这是我目前使用的代码:

hScreen = figure('Position', [screenWidth+1 (screenHeight-1080+1) 1920 1080], 'Color',[0.5 0.5 0.5]);

myImage = imread('test.png');

figure(hScreen), imshow(myImage);
set(gcf, 'position', [screenWidth+1 (screenHeight-1080+1) 1920 1080]);

此代码有效,但问题是每次我显示图像时,我都可以在几分之一秒内看到屏幕上的翻译/调整大小,这在我的情况下(或者在任何情况下)是不可取的。如果我没有对图像使用set(),那么,即使我使用了图形处理,图像也会呈现在任意位置。

如何在不需要重新定位/重新缩放每张图像的情况下进行此操作?

1 个答案:

答案 0 :(得分:3)

您可以通过告诉imshow将图像调整到窗口来阻止'InitialMagnification'调整图形窗口的大小。正如excellent documentation中所述,执行此操作的参数称为hScreen = figure('Position', [screenWidth+1 (screenHeight-1080+1) 1920 1080], 'Color',[0.5 0.5 0.5]); myImage = imread('test.png'); imshow(myImage, 'InitialMagnification','fit'); myImage = imread('test2.png'); imshow(myImage, 'InitialMagnification','fit');

Press key