MATLAB Function Reference | ![]() ![]() |
print, printopt
表示
print print -device
-options
filename
[pcmd,dev] = printopt
詳細
print
と printopt
は、ハードコピーを作成します。print
コマンドへのすべての引数は、オプションです。それらを使う場合、組み合わせや順番は任意です。
print
は、任意のユーザのインタフェースコントロールのビットマップ表現を含んで、カレントフィギュアの内容を、printopt
で定義されたデバイスとシステムプリントコマンドを使って、プリンタに送ります。
print
は、(sカラーの
PostScript のような)プリントデバイス、または、(TIFFのような)グラフィックファイルフォーマットを指定します。-device
-device
が、-dmeta
、または、-dbitmap
(Windows のみ)に設定されている場合、フィギュアは、クリップボードにセーブされます。-device
を省略すると、print
は、printopt
でストアされるデフォルトを使います。サポートしているデバイスタイプは、デバイス の節を参照してください。
print -
は、options
print
コマンドの機能を修正するプリントオプションを設定します(たとえば、-noui
オプションは、ユーザインタフェースコントロールの印刷を省略します)。使用可能なオプションについては、オプション の節を参照してください。
print
は、filename
filename
で指示されるファイルに出力します。filename
が拡張子を含んでいない場合、print
は、指定しているフォーマット(たとえば、.ps
、または、.tif
)、または、ドランバに依存して、適切な拡張子を付加します。
print(...)
は、print
の関数型です。ユーザは、いくつかの入力引数に変数を渡すことができます。この型は、ファイル名やハンドルを渡す場合に、有効です。例題については、バッチ処理
を参照してください。
[pcmd,dev] = printopt
は、カレントのシステムに依存した印刷コマンドと出力デバイスを含む文字列を戻します。printopt
は、ハードコピー出力を作成するための print
によって使われる M-ファイルです。ユーザは、M-ファイル printopt.m
を編集して、ユーザのデフォルトのプリンタタイプと出力先を設定することができます。
pcmd
と dev
は、プラットフォームに依存した文字列です。pcmd
は、print
が、プリンタにファイルを送るときに使用するコマンドを含んでいます。dev
は、print
コマンドに対するプリンタドライバ、または、グラフィックフォーマットオプションを含みます。デフォルトは、プラットフォームに依存したものです。
プラットフォーム |
システムの印刷コマンド |
ドライバ、または、フォーマット |
UNIX |
|
|
VMS |
|
|
Windows |
COPY /B %s LPT1: |
-dwin |
つぎの表は、MATLAB でサポートされているプリンタドライバの一覧です。ユーザがドライバを指定していない場合、MATLAB は、前の表で示したデフォルト設定を使います。
いくつかのドライバは、GhostScript と呼ばれる製品から得ることができます。これは、MATLAB と共に出荷されます。最後の列は、GhostScript が使用される場合を示しています。
これらの中で、いくつかのドライバは、すべてのプラットフォームで使用可能ではありません。これは、表の最初の列の中に記されています。
グラフィックフォーマットファイル
ユーザのファイルをグラフィック-フォーマットファイルとしてセーブするには、フォーマットのスイッチとファイル名を設定してください。組み込みの
MATLAB
フォーマットに対して、出力ファイルの解像度を設定するには、-r
スイッチを使います(たとえば、-r300
は、インチあたり 300
ドットの出力解像度に設定します)。-r
スイッチは、GhostScript
フォーマットをサポートしていません。
下の表は、MATLAB からイクスポートされる場合に、サポートしている出力フォーマットと使用するスイッチ設定を示しています。いくつかの場合、フォーマットは、MATLAB の出力ファイルとして、また、GhostScript 出力ファイルとして、使用可能なものです。これは、最初の列内に、括弧で括った"MATLAB"、または、"GhostScript" として示しています。3番目の列は、フォーマットをサポートしているプラットフォームを示しています。
TIFF イメージフォーマットは、インポートされるイメージに対して、すべてのワードプロセッサにより、すべてのプラットフォーム上でサポートされています。JPEG は、ロスが大きいですが、圧縮度の高いフォーマットで、イメージ処理用や、World Wide Web 上で HTML ドキュメントの中に含まれるものとして、すべてのプラットフォーム上でサポートされています。これらのフォーマットを作成するには、MATLAB は、Z-バッファレンダリング法を使って、フィギュアをレンダリングし、結果のビットマップを指定したファイルにセーブします。
つぎの表は、print
に対して指定できるオプションをまとめたものです。2番目の列には、詳細な情報を含むチュートリアルがどの節に含まれているかを示しています。リストされた節は、MATLAB
を使ったフィギュアの印刷とイクスポート
の下に設定されています。
オプション |
詳細 |
-adobecset |
PostScript のみ。PostScript
デフォルトキャラクタ設定符号化を使用。初期 PostScript 1
プリンタを参照 |
-append |
PostScript のみ。フィギュアを既に存在する
PostScript ファイルに付加。フィギュアを
PostScript ファイルに付加を参照 |
-cmyk |
PostScript のみ。RGB の代わりに、CMYK
カラーを使って印刷。Creating CMYK Outputを参照。 |
-device |
使用するプリントドライバ。プリンタドライバの指定を参照。 |
-dsetup |
Print Setup ダイアログの表示。Print
コマンドを使って、Print Dialog ボックスを起動を参照。 |
|
フィギュアのハンドル。このオプションと-swindowtitle
オプションを同時に設定できないことに注意してください。フィギュアをプリンタに指定
を参照してください。 |
-loose |
PostScript と GhostScript のみ。PostScriptに対しては、loose
bounding box を使用します。囲っていないフィギュアを印刷、または、イクスポート
を参照。 |
-noui |
ユーザにインタフェースコントロールの印刷を省略。ユーザ出力から
UI コントロールを除外 を参照。 |
-OpenGL |
OpenGL アルゴリズムを使って、レンダリング。-zbuffer 、または、-painters
と共にこの方法を設定できないことに注意してください。リンダリング法の設定
を参照してください。 |
-painters |
Painter アルゴリズムを使ったレンダリング。-zbuffer 、または、-OpenGL
と共にこの方法を設定できないことに注意してください。リンダリング法の設定
を参照。 |
|
UNIX のみ。使用するプリンタの名前の設定。プリンタの設定
を参照。 |
|
PostScript と GhostScript
のみ。インチあたりのドット数で、解像度を指定。解像度の設定
を参照。 |
|
印刷する Simulink
システムウインドウ名を指定。このオプションと -fhandle
オプションを同時に設定できません。印刷するフィギュアの指定
を参照してください。 |
-v |
Windows のみ。Windows Print
ダイアログボックスの表示。v は、"verbose mode"
の略です。Print コマンドを使って、Print Dialog Boxes を起動 を参照。 |
-zbuffer |
Z-buffer
アルゴリズムを使ったレンダリング。この方法を、-OpenGL 、または、-painters
と併用できないことに注意してください。レンダリング方法の設定
を参照。 |
用紙のサイズ
MATLAB
は、いくつかの標準の用紙サイズをサポートしています。つぎのリストから、フィギュアのPaperType
プロパティを設定するか、印刷(Print)
ダイアログボックスからサポートされている用紙サイズを選択するかにより、選択することができます。
印刷に関するアドバイス
リサイズ機能を使ったフィギュア
コマンド print
は、フィギュアのResizeFcn
に対して定義されたコールバックルーチンをもつフィギュアを印刷する場合、ワーニングを生じます。このワーニングを避けるために、フィギュアの
PaperPositionMode
プロパティを auto
に設定するか、または、File->Page
Setup... ダイアログボックスの中で、Match Figure Screen Size
を選択するかのいずれかを行ってください。
MS-Windows 上の印刷でのトラブル
MS-Windowsプリンタドライバを使用中に、segmentation violations、general protection faults、アプリケーションエラー、希望通りに出力が表示されない、のような問題が生じた場合は、つぎのようにしてください。
print
コマンドでは、-dps
で始まる引数を使って、PostScriptデバイスオプションを使用できます。print
-dmeta
オプションを使って、Windows Metafileとしてフィギュアをコピーしてください。その後、印刷を行うために別のアプリケーションにファイルをインポートできます。フィギュアのFile-->Preferences...-->Copying Optionsダイアログボックスで、copyオプションを設定できます。Windows Metafile clipboard formatは、Windows Bitmapよりも高品質なイメージを出力します。
Windows95での太線の印刷
Windows95の制限により、MATLABはラインをつぎのいずれかとして印刷します。
1ピクセル幅以上のラインを作成したり、実線でないラインスタイルを使用する場合には、MATLABは1ピクセル幅の指定したラインスタイル(すなわち細いライン)でこれらのラインを印刷します。
しかし、matlab.ini
ファイルを修正することによって、太いスタイル付きのラインを太い実線として印刷するように、変更できます。このファイルは、Windowsディレクトリにあります。このファイルで、つぎの部分を探してください。
[Matlab Settings]
ThinLineStyles=1
ThinLineStyles=0
MATLAB GUIの印刷
つぎのプロパティを設定することで、MATLABの uicontrols
を含むフィギュアウィンドウを印刷するときに、より良い結果を得ることができます。
PaperPositionMode
プロパティを、auto
に設定してください。これにより、印刷されたものがスクリーン上と同じサイズになります。PaperPositionMode
をauto
に設定すると、MATLABはPaperPosition
のカレント値と一致させるために、フィギュアをリサイズしません。MATLABがプリント処理中にフィギュアをリサイズする場合は、ResizeFcn
が自動的に呼び出されるので、フィギュアのResizeFcn
を指定した場合は、このことが特に重要です。InvertHardcopy
プロパティを
off
に設定してください。デフォルトでは、MATLABは印刷された出力のフィギュアのバックグランドカラーを白に変更しますが、Uicontrolsの色は変更しません。たとえば、バックグランドカラーをGUIデバイスのグレイと一致するように設定した場合、カラースキームを保存するために、InvertHardcopy
をoff
に設定しなければなりません。loose
オプションを使ってください。これは、UicontrolsやAxesとフィギュアの枠の間でスペースを使いたいときや、印刷出力でもこの表示を保持したいときに重要です。PostScript Driverを使った内挿シェーディングの印刷に関する注意事項
MATLABは、内挿された色を使って、(surf
やmesh
を使って作成されたグラフのような)Surfaceオブジェクトを印刷することができます。しかし、三角形の面で構成されているPatchオブジェクトのみが、内挿されたシェーディングを使って印刷できます。
印刷された出力は、常にカラーマップの色ではなく、RGB空間に内挿されています。これは、インデックス付きカラーや内挿された面のカラーを使用している場合には、印刷出力はスクリーン上に表示されたのと異なって見えることを意味します。
内挿されたシェーディングに対して生成されたPostScriptファイルは、グラフィックスオブジェクトの頂点のカラー情報を含み、プリンタが内挿の計算を行うことを要求します。これは、時間が余計にかかり、プリンタが印刷ジョブを終了する前に"time-out"になる場合があります。この問題の解決法の1つは、データを内挿して、フラットシェーディングされる多くの面を作成することです。
スクリーン上の表示と印刷出力を一致させるためには、-zbuffer
オプションを使って印刷してください。高解像度を得るためには、(たとえば、テキストをよりきれいに表示するためには)、解像度を上げる-r
オプションを使ってください。しかし、これは、解像度と作成されたPostScriptファイルのサイズとのトレードオフであり、ファイルのサイズは高解像度では非常に大きくなります。デフォルトの解像度150
dpiは、一般的に良い結果を出力します。印刷する前にフィギュアを小さくし、フィギュアのPaperPositionMode
をauto
に設定するか、PaperPosition
プロパティを小さい値に設定することによって、出力ファイルのサイズを小さくすることができます。
UNIX環境では、デフォルトのlpr
コマンドは、-s
オプションを使わないと1
Mbyte以上のファイルを印刷できないことに注意してください。
詳細は、lpr
マンページを参照してください。
印刷するフィギュアの指定
フィギュアハンドルを指定することにより、カレントでないフィギュアをプリントすることができます。フィギュアが、タイトル"Figure No. 2" の場合、ハンドル番号は2です。そのときのシンタックスは、つぎのようになります。
print -fhandle
つぎの例題は、カレントフィギュアであるか、ないかに関わらず、フィギュアハンドル2を印刷します。
print -f2
つぎの例題は、ハンドル番号 -f2
をもつフィギュアを PostScript ファイル、Figure2
としてセーブし、後で、プリントできるようにします。
print -f2 -dps 'Figure2.ps'
フィギュアは、整数でないハンドルを使用する場合、figure
コマンドを使って、その値を取得し、それを最初の引数として渡します。
h = figure('IntegerHandle','off') print h -depson
変数として、フィギュアハンドルをprint
の関数型に渡すこともできます。たとえば、つぎのようにです。
h = figure; plot(1:4,5:8) print(h)
つぎの例題は、print
の関数型を使って、ファイル名を変数として渡すものです。
filename = 'mydata'; print('-f3', '-dpsc', filename);
(ファイル名が指定されているので、フィギュアは、ファイルに出力されます)。
印刷するモデルを指定
カレントでない Simulink
モデルを印刷するには、ウインドウのタイトル名と共に-s
オプションを使用します。たとえば、つぎのコマンドは、f14
とタイトル付けされた
Simulink ウインドウを印刷します。
print -sf14
ウインドウのタイトルにスペースが含まれている場合、print
のコマンド型よりもむしろ関数型でコールしてください。たとえば、つぎのコマンドは、Simulink
ウインドウタイトル Thruster Control
をセーブします。
print('-sThruster Control')
使用しているカレントシステムを印刷するには、つぎのようにします。
print -s
Simulink ウインドウを印刷するために必要は情報については、Simulink のドキュメントを見てください。
つぎの例題は、内挿されたシェーディングをもつサーフェスプロットを印刷します。カレントフィギュア(gcf
)のPaperPositionMode
を auto
に設定すると、フィギュアウインドウをリサイズでき、スクリーン上で見えるサイズで印刷します。-zbuffer
と -r200
オプションに関する情報については、Options と前の節を参照してください。
surf(peaks) shading interp set(gcf,'PaperPositionMode','auto') print -dpsc2 -zbuffer -r200
print
の関数型を使って、ファイル名を含む変数を渡します。たとえば、つぎの
for
ループは、一連のグラフを作成し、異なるファイル名で、各ファイルを印刷します。
for i=1:length(fnames) surf(Z(:,:,i)) print('-dtiff','-r200',fnames(i)) end
Tiff プレビュー
print -depsc -tiff -r300 picture1
カラーの Encapsulated PostScript ファイル picture1.eps
に、300 dpi の解像度で、カレントフィギュアをセーブします。-tiff
オプションは、72 dpi TIFF
プレビューを作成し、多くのワードプロセッサアプリケーションを使って、EPS
ファイルにインポートしたあと、スクリーン上に表示できます。これを使って、スクリーン上の絵を、ユーザのワードプロセッサの中で、表示でき、それを、300
dpi の解像度を使って、PostScript プリンタで、印刷できます。
参考
![]() |
primes | printdlg | ![]() |