我不知道如何在MATLAB中完成以下內容。我有一個數字,看起來像這樣:MATLAB:將uipanel的內容打印到PNG圖像
在圖中,我有很多分支情節和一個滾動條,讓我查看面板的一部分的面板。
我想將整個內容保存到一個PNG圖像文件(不只是可見部分),即我想有一個文件,這是一個高大的矩形,並且不需要滾動。
用於產生圖中的代碼如下:
function draw(obj)
figure;
panel1 = uipanel('Parent',1);
panel2 = uipanel('Parent',panel1);
panelheight = obj.nIterations/2;
set(panel1,'Position',[0 0 0.97 1]);
set(panel2,'Position',[0 1-panelheight 1 panelheight]); %%
nPlot = 1;
for i=1:obj.nIterations
models = obj.iterations{i};
for nModel=1:length(models)
subplot(obj.nIterations,length(models)*2,nPlot);
nPlot = nPlot + 1;
drawTransitions(models{nModel});
set(gca,'Parent',panel2);
subplot(obj.nIterations,length(models)*2,nPlot);
nPlot = nPlot + 1;
drawRewards(models{nModel});
set(gca,'Parent',panel2);
end
end
s = uicontrol('Style','Slider','Parent',1,...
'Units','normalized','Position',[0.97 0 0.03 1],...
'Value',1,'Callback',{@slider_callback1,panel2,panelheight});
end
我曾嘗試以下,沒有成功。
saveas
funstion保存整個數字,而不僅僅是面板。此外,它會剪切面板的不可見部分。export_fig(panel2.'file.png')
只給出了一個純灰色的圖像。
這是一個很好的問題。我也試圖做類似的事情,但必須用'getframe'解決,但這隻能用於打印屏幕,並會截斷圖像。 – Justin
f = figure怎麼樣;打印(F, ' - djpeg', 'file.jpg'); ?我不確定。 –
@MinLin,謝謝你,但你的解決方案會截斷圖像,而我希望文件包含屏幕上不可見的位。 – ziutek