2

getframeを使用して、 GUIDEを使用して作成した素敵な GUI オブジェクトのスクリーンショットをキャプチャしたいと考えています。OS の PrintScreen 機能だけを使用することはできません。GUI ウィンドウで発生する何かのムービーを作成する必要があるためです。つまり、何千ものフレームをキャプチャする必要があります。

ただし、GUIDE オブジェクトは明らかに通常の Figure ではないため (これは、新しい空の 'Figure 1' ウィンドウを元気よく開く getframe(gcf) によって実証できます)、どのハンドルを使用すればよいか途方に暮れています。 getframe() は、GUI ウィンドウの内容をキャプチャします。

何か案は?

4

1 に答える 1

2

GUIDE GUI フィギュアの'HandleVisibilityプロパティが に設定されていると推測しています'off'。これにより、ハンドルがFINDOBJなどの関数によって検出されなくなります。ただし、関数FINDALLを使用して GUI Figure の隠しハンドルを見つけ、そのハンドルをの代わりにGETFRAMEgcfに渡すことができます。たとえば、GUI フィギュアのタイトルが の'My GUI'場合、次のようにすることができます。

hFigure = findall(0,'Name','My GUI');
frameData = getframe(hFigure);
于 2011-06-22T20:51:49.833 に答える