プロが教えるわが家の防犯対策術!

ESC/Pのコマンドでグラフィックを印刷するにはどのようにコマンドを使えばいいでしょうか。最近のプリンタにはコマンドの解説書がついておらず、ESC/Pの解説書は買うとなると¥5000と法外です。
専用のプログラムを使用するのでプリンタドライバも使えません。調べたところでは、8ドットグラフィックモードというのと24ドットグラフィックモードというのがあるようなのですが、8ドットでは大きすぎ、24ドットでは小さすぎといった感じです。16ドットというのがあればちょうどよさそうなのですが、ないのでしょうか?インターネットもさんざん検索したのですが、解説のページは見つかりません。
どなたかご存知の方、古い(失礼)マニュアルをお持ちの方お教え願えませんか。

A 回答 (5件)

ESC/Pには16ドットのモードは有りません。


8ドットモード、24ドットモード共に横方向の密度が違うモードがあります。

マニュアルのサンプルプロを転記します。各モードで横100ドットを印刷します。
グラフィックの縦をつなぐに場合は、300行の改行幅指定を行います。

100 ' Bit Image
110 LPRINT CHR$(27);"@";
120 N=100
130 FOR I=1 TO 11
140 READ M
150 LPRINT M;CHR$(13);" ";
160 LPRINT CHR$(27);"*";CHR$(M);
170 LPRINT CHR$(N MOD 256);
180 LPRINT CHR$(INT(N/256));
190 FOR J=1 TO N
200 LPRINT CHR$(&HFF);
210 IF M<7 THEN GOTO 230
220 LPRINT CHR$(&HFF);CHR$(&HFF);
230 NEXT J
240 LPRINT
250 NEXT I
260 END
270 DATA 0,1,2,3,4,6.32,33,38,39,40
290 ' 24/180インチ改行設定
300 LPRINT CHR$(27);"3";CHR$(24);
    • good
    • 0
この回答へのお礼

ありがとうございます。
やはり16ドットは無いのですね。
下の方のお礼にも書きましたが、用途は800×600ドットの画面をハードコピーとして出力したいということです。縦横比がほぼ正しくなるようにして印刷すると結構小さくなります。なにかいい手はないかと考え中です。

お礼日時:2001/12/13 13:45

>縦横比がほぼ正しくなるようにして印刷すると結構小さくなります。


>なにかいい手はないかと考え中です。

それなら、印刷字にドットデータを拡大してプリンタに送るしかないですね。
つまり、24ビットモードを使って印刷するけど画面上の横1縦12ドットをプリンタの横2縦24ドットに拡張しながら転送します。
さらにもう少し大きく印刷したい場合は、画面上の横1縦8ドットをプリンタの横3縦24ドットに拡張します。

実際、このようなハードコピーツールを10年前に開発しました。
    • good
    • 0

ESC/P の他にも ESC/P スーパーとかESC/Pageとかありますよね。


ご存じのようにEPSONの独自規格で(他のメーカのプリンタで対応しているのは、単にEPSONから使用許諾してもらっているだけの筈です)、最近の仕様を知るにはEPSONに問い合わせるしかないのではないでしょうか。

ご確認済みと思いますが、使われるプリンタによってもどのコードが対応しているか違いがありますよね。
古くからある標準的なものならばどれでも使えるでしょうけど、特殊な物になるとプリンタが対応しているかどうかも調べる必要があると思いますよ。
(PMシリーズなんてESC/Pは搭載していないようだし、、、、)

私の手元には、ドットインパクト時代のESC/Pマニュアルがありますが、当然16ドットはありません。
(解像度が荒いからねぇ。)

力技で書くのであれば、24bitグラフィックで、うち16bit分を使うのでしょうね。
要するに、一度印刷イメージの画像をメモリに展開して、24bit分ずつプリンタに送ればよい。
その昔の常套手段です。

では。
    • good
    • 0
この回答へのお礼

ありがとうございます。プリンタは変わる可能性があるのでなるべく多くのプリンタで使えるということでESC/Pにしています。当然手元のプリンタは対応しています。
用途は800×600ドットの画面をハードコピーとして出力したいということです。800を24で割ると33ほどになりますが、A4用紙に出すと結構小さくなります。かといって隙間を空けては分割された画面になってしまいますので、ちょっと考えているところです。

お礼日時:2001/12/13 13:39

グラフィック印字は、余りやった覚えが無いのですが...。



取りあえず、
ESC S:8Bit Dot列対応Graphic Mode
ESC I:16Bit Dot列対応Graphic Mode
ESC J:24Bit Dot列対応Graphic Mode
となっている様でが、これの事ですか?

但し、このESCコードがお手持ちのプリンタで対応してるかは、マニュアル等で調べて見て下さい。

私の手元にも、ESC/Pのコマンドが載ってる資料が幾つか在りますので、又必要なら私の方でも調べますよ。
    • good
    • 0
この回答へのお礼

ありがとうございます。お答えいただいた分は、ESC/PではなくPC-PR(NEC)系の制御コードだと思われます。ESC/PではESC * で始まるみたいです。

お礼日時:2001/12/11 13:21

こんな回答でお役に立つかどうか分かりませんが、ESC/Pなんて懐かしい文字が有りましたので・・・。



私が最初にPCに触れた時に購入したCanon BJ-330プリンタ(ESC/Pエミュレーション)の取説(正確にはコントロールカードの取説)を見ました。

取説の約半分が「制御コードによるプリンタの制御」と言う項目でいろいろ出ていますが・・・、16ドットはありません。8or24でした。

ESC/Pのコマンドを使用することもなかったためそれ以上の事は分かりかねますが、悪しからず。

こちらでお役に立てることが有りましたら補足要求入れてください。
    • good
    • 0
この回答へのお礼

ありがとうございます。やはりないのでしょうか。

お礼日時:2001/12/11 13:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!