Graphics    

印刷のトラブル

プリンタドライバ

Windowsのプリンタドライバを使っていて,セグメンテーションの違反,一般のプロテクションフォルト,アプリケーションエラー,予期しない出力などの問題が起きました。

次のいずれかを試してみてください。

-depsスイッチを付加したprintコマンドを用いると、次のようなエラーメッセージがあらわれます。

このエラーメッセージは、ユーザのフィギュアがファイルに保存されたことを示しています。EPSは、グラフィックスファイルフォーマットであり、プリンタドライバを使ってプリンタに送ることはできません。フィギュアをプリンタに直接送るためには、PostScriptドライバスイッチの1つを試してください。 printリファレンスページの表 driversを参照してください。EPSファイルをプリントするためには、それを、はじめに、ワードプロセッサ、あるいは、その他のソフトウェアプログラムに取り込む必要があります。

デフォルトの設定

私が使っているプリンタは、MATLABのデフォルトの"letter"タイプとは異なる用紙タイプを使用しています。どのようにすれば、新たなフィギュアごとに設定せずに、デフォルトの用紙タイプを変更することができますか。   

startup.mファイルに1行を加えることで、任意のプロパティに対するデフォルト値を設定することができます。次の行を加えるとデフォルトの用紙タイプをA4に設定します。

関数setをコールする際、Defaultとオブジェクト名Figure、プロパティ名PaperTypeを一語として繋ぎます。

 

用紙の向きをlandscapeに設定しましたが、新しいフィギュアを印刷しようとするたびに、向きの設定がportraitに戻ってしまいます。新しいフィギュアのたびに、設定し直すことなしにデフォルトの用紙の向きを変更するには、どうすればよいでしょうか?   

上記の質問についての解答を参照してください。startup.mファイルに次の行を追加し、デフォルトの用紙の向きを landscapeに設定してください。

ラインの印刷

破線を用いた線を含むフィギュアの印刷をしたいのですが、実線として印刷されてしまいます。

Microsoft Windows 95 と Windows 98は、行の幅が1ピクセルより大きい破線をサポートしていません。残念ながら、たいていのプリンターは、1ピクセルより太い行を印刷しますので、たいていの場合、Windows 95 と Windows 98ドライバは、LineStyleOrderの設定にかかわらず、実線を生成してしまいます。

この問題についての解決策は、いくつかあります。

フィギュアの中のラインを黒で印刷したいのですが、カラーで印刷されます。

カラープリンタドライバを使用していると思われます。印刷ダイアログボックスかprintコマンドを用いて、モノクロのドライバを指定することができます。あるいは、カレントフィギュアのラインが黒で印刷されるようにページ設定ダイアログボックスを使うこともできます。いずれの方法についても、Specifying Printed Color of Colored Lines and Text の解説を参照してください。

フィギュア中の白いラインが、印刷すると黒になります。

この現象が起こる原因は、2つあります。原因として最も考えられることは、そのラインが暗いバックグラウンドに位置していることです。デフォルトで、MATLABは印刷時に、バックグラウンドを白に変換し、白いラインを黒く変えます。これを防ぐためには、印刷時にバックグラウンドカラーを保持してください。Retaining Background Colorsを参照してください。

その他の考えられる原因としては、ユーザがWindowsプリンタドライバを使用していて、このドライバがMATLABに対し、誤ったカラー情報を送っている可能性があります。詳細は、Correcting Color Results with Windows Driversを参照してください。

プリンター

カラープリンターを使っていますが、フィギュアを印刷すると白黒になってしまいます。

デフォルトでは、MATLABは、モノクロのプリンタドライバを使っています。したがって、カラープリンタドライバを指定する必要があります。解説については、Printer Driversを参照してください。ユーザがすでにWindowsカラードライバを使用している場合、プリンタは、カラーのプロパティについて誤った情報を返してくるかもしれません。詳細は、Correcting Color Results with Windows Driversを参照してください。

自分のシステムに一台以上のプリンターを接続しています。フィギュアの印刷をするプリンターをどのようにして指定すればよいのでしょうか。 

印刷ダイアログボックスをご利用ください。 UNIX上では、 printコマンドで-P スイッチを使うこともできます。それらの方法の解説については、Selecting a Printerを参照してください。

テキストの回転

フィギュアの中に回転させたテキストがいくつかあります。スクリーン上では、うまくいっているように見えるのですが、印刷すると、解像度が悪くなります。  

おそらくビットマップ化されたフォントを用いているのでしょう。ビットマップフォントでは、うまく回転しないことがあります。代わりにTrueTypeフォントを試してみてください。

ResizeFcn 警告

フィギュアのプリント時にResizeFcnが使われていますという警告がでます。

デフォルトで、MATLABはプリンタの座標に変換するときに、フィギュアをリサイズします。したがって、MATLABはフィギュアに対して作成したResizeFcnをコールするため、ワーニングを出力します。フィギュアをスクリーンサイズで印刷するよう設定すると、このワーニングがあらわれなくなります。


  トラブルシューティング 出力のトラブル