2012-04-02 28 views
1

関数getframeは、画面に表示されているものをキャプチャします。しかし私のアプリケーションでは、数字をinvisibleとし、その内容をマトリックスに保存したいとします。だから、getframeは、短時間の間、Figureを可視化してその内容をキャプチャし、 'visibile'プロパティをスクリーンキャプチャ前の状態に戻すように設定します。 私はそのフラッシュが画面上で起こらないようにしたい。また、ファイルを保存して読み戻すことで、速度が低下します。これを回避する方法があるはずです。MatlabのFigureに内容を保存する(getframeを使用せず、ファイルに保存することなし)

hFig=figure('Visible','off'') 
text ('String','ABC','fontsize',300) 
imageData = getframe(hFig);  
img = imageData.cdata; % img is what I am interested in 

答えて

2

私が知る唯一の方法は、図を一時ファイルに印刷することです。例:

%Create a figure 
hFig=figure('Visible','off') 
text ('String','ABC','fontsize',300) 

%Save the figure to a tiff file using a salted name 
tmpName = sprintf('Temp_Figure_%04d.tiff', floor(rand*1000)); 
print(['-f' num2str(hFig)], '-dtiff', tmpName) 

%Read the data 
img = imread(tmpName); 

%Delete the temporary figure 
delete(tmpName); 

最も美しいものではありませんが、動作するようです。

+0

ありがとうございますが、私は特にファイルの使用には興味がないと述べました。 –

関連する問題