Graphics | ![]() ![]() |
バックグラウンドカラー
黒いバックグラウンドカラーのフィギュアを作成し、設定ダイアログボックスのコピーオプションパネルから"Figureの色を利用"を選択しました。しかし、フィギュアを出力すると、バックグラウンドカラーは白に変化します。
フィギュアをファイルに出力したのでしょう。コピーオプションの設定は、クリップボードにコピーされたFフィギュアのみに適用されます。
表示されたバックグラウンドカラーを保持するには、2つの方法があります。ページ設定ダイアログボックスを用いるか、InvertHardCopyプロパティをoffに設定してください。いずれも方法の説明は、Retaining Background Colors を参照してください。
デフォルト設定
同じサイズでフィギュアを全て出力したいと思っています。各々のフィギュアに対してサイズを設定せずに済む方法はありますか?
startup.mファイルに行を追加することによって、任意のプロパティのデフォルト値を設定することができます。次の行を追加すると、デフォルトのフィギュアサイズを4×3インチに設定します。
set(0,'DefaultFigurePaperPosition',[0 0 4 3]);
関数setをコールする際、Defaultとオブジェクト名Figure、プロパティ名PaperPositionを一語として繋げます。
フィギュアをメタファイルとして出力するために、クリップボードを用いています。すべてのコピー操作をメタファイルフォーマットにする方法はありますか?
設定ダイアログボックスのコピーオプションパネルを使います。MATLABがフィギュアをメタファイルあるいはビットマップとしてコピーするかどうか、などの設定はすべて、コピー操作全体に適用されます。解説は、Copy Options Preferencesを参照してください。
Microsoft Word
フィギュアをEPSファイルに出力し、それからWordドキュメントに取り込もうとしました。EPSピクチュアがプレビューとともにセーブされていないので、PostScriptプリンタでしか印刷できません、というエラーメッセージとともに、空のフレームが印刷されました。TIFFプレビューをどのようにして取り込めばよいでしょうか?
-tiffスイッチを付加してprintコマンドを使います。たとえば、
print -deps -tiff filename
PostScriptプリンタでないプリンターにWordでプリントすると、プレビューイメージが印刷に用いられます。これは、EPSグラフィックの質を欠いた低解像度のイメージです。プレービューイメージとEPSファイルについての詳細は、EPS Filesを参照してください。
Wordでフィギュアをリサイズしようとすると、質の低下が起こります。
ビットマップフォーマットを使っているのでしょう。ビットマップファイルは、通常リサイズがうまく行われません。ビットマップフォーマットで出力しようとしているならば、フィギュアがMATLAB内にあるときにフィギュアサイズを設定してみてください。解説は、Size and Position of Printed or Exported Figuresを参照してください。
別の方法として、ベクトル形式のEMF、EPSのいずれかを利用することもできます。これらの形式で出力されるフィギュアは、質に影響することなくWordでリサイズすることができます。
フィギュアをWord97とPowerPoint97にコピーし貼り付けると、正しく表示されますが、Windows95ではプリントできません。何も印刷されていない用紙が出てきます。
これは、クリップボードに出力するためにメタファイルフォーマットを使うときに起こるバグです。そこで代わりに、ビットマップクリップボードフォーマットを使って試してください。グラフィカルユーザインタフェースを使う場合には、Clipboard Formatsを参照してください。MATLABコマンドを使う場合には、Exporting to the Clipboard Using MATLAB Commandsを参照してください。
フィギュアをEMFとしてクリップボードに出力しました。これをWordに貼り付けると、ラベルのいくつかが正しく印刷されません。
この問題は、WordとWindowsのいくつかのバージョンで起きています。そのラベルをWordで編集してみてください。
ファイル形式
出力したフィギュアをワープロドキュメントに取り込もうとしましたが、ファイルフォーマットが認識できません、というエラーが出ました。
2つの原因が可能性としてあります。printコマンドを用いていて、出力形式を指定するのを忘れたか、あるいは、ワープロプログラムが出力形式をサポートしていない可能性があります。printコマンドを用いるときに、フォーマットスイッチを付加してください。ファイルの拡張子を付けるだけでは、不十分です。解説は、Setting the Export File Formatを参照してください。
これで、問題が解決しないときには、ワードプロセッサがどんなフォーマットをサポートしているかを確認してください。また、表Editable Formats in Other Applicationsで、アプリケーションとサポートしている出力形式の一覧を参照してください。
EPSファイルにフィギュアを付け加えようとしましたが、エラーメッセージがでました。
EPSファイルには、フィギュアを付加できません。-appendオプションは、PostScriptファイルに対してのみ有効であり、EPSファイルには、使用しないでください。PostScriptはプリンタドライバで、EPSはグラフィックファイルフォーマットです。
サポートされている出力形式のうち、HDFのみが、複数フィギュアの保存をサポートしていますが、フィギュアを付加するには、imwriteコマンドを用いてください。例題は、imwrite
のリファレンスページを参照してください。
出力ファイルのサイズ
フィギュアを出力するために、EPSフォーマットをいつも使っていましたが、最近巨大なファイルを作成し始めました。ファイルのいくつかは、数メガバイトです。
おそらく、グラフィックスが複雑なものとなり、MATLABがPainterレンダラの代わりに、OpenGLあるいはZ-bufferレンダラを使っていると考えられます。MATLABは、表示時間の改善や、lightingのようなPainterでは行えない属性の取り扱いなどのために、OpenGLあるいはZ-バッファレンダラを用います。しかし、OpenGLやZ-bufferを使うと、EPSファイルにビットマップが保存され、大きいファイルになることがあります。
この問題を解決するには、2つの方法があります。EPSに出力するときPainterレンダラを指定するか、TIFFのようなビットマップフォーマットを使うことができます。使用するべき最良のレンダラとフォーマットタイプは、フィギュアに依存します。ヘルプが必要であれば、Bitmap and Vector Formatsを参照してください。レンダリングの方法についての詳細と設定方法については、Setting the Rendering Methodを参照してください。
ムービーの作成
MATLABで多数のフレームを処理しています。これらのフレームを個々のファイルとしてセーブし、後でムービーに変換したいと思います。どのようにすればよいでしょうか?
getframeを使ってフレームを取得し、imwriteを使ってファイルに書き込み、movieを使ってファイルからムービーを作成します。フレームの取得と書き込みのためにgetframeとimwriteを利用する方法の詳細は、Using the getframe Command to Export a
Graphicを参照してください。取得したフレームからのムービー作成についての詳細は、
movie
のリファレンスページを参照してください。
AVIファイルに複数のファイルをセーブすることもできます。AVIファイルは、MATLABを実行する必要のないアニメーションに対して使うことができます。しかし、AVIファイルは、AVIビューアが必要です。詳細は、MATLAB開発環境のAVIフォーマットのムービーの作成を参照してください。
拡張されたオペレーション
Exportダイアログボックスを用いて実行できないExportオペレーションがいくつか存在します。
以下の操作を行うには、printコマンドを用いる必要があります。
![]() |
印刷のトラブル | 一般的なトラブル | ![]() |