情况如下:我使用两个显示器,辅助显示器用于显示图像。我想要做的是制作一个图形并设置其属性(大小,位置等),然后在该图中显示不同的图像,而不必每次都重新定义尺寸/位置属性。
这是我目前使用的代码:
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(),那么,即使我使用了图形处理,图像也会呈现在任意位置。
如何在不需要重新定位/重新缩放每张图像的情况下进行此操作?
答案 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