ボタンがおされると印刷のされるプログラムを組みました。
そこで、印刷の解像度を変更したいのですが、
ご教授おねがいします。
文字であれば、フォント情報はプリンタが持っているはずなので、解像度を変更するにはプリンタを変更するしかないかと。
画像なら、一度縮小して絵をある程度つぶしてから、印刷したい大きさに拡大すれば解像度を下げることは出来ます。
「印刷の解像度を変更したい」というのは、プリンタの印刷品質・精度の設定をアプリから変更したいという事なのでしょうか。
プリンタの印刷品質・精度の設定をアプリから変更したいということです。
通常のTPrinterからはできなそうですね。
http://www.asahi-net.or.jp/~HA3T-NKMR/
NkPrinterにはあるみたいです。
最近時間がないので、不親切なResしかできませんが、
① まずプリンタが、対応している解像度の情報提供をサポートしているかどうかを調べる必要があります。
② サポートしていない場合、現在設定されている解像度を得て、それで印刷を実行するか、ユーザーに「Windowsのコントロールパネル|プリンタより自分で変更してやり直すよう」メッセージを出すことになるでしょう。
印刷ダイアログを表示して、そこで変更してもらっても、変更された解像度でプリンタのCanvasに描画しなおす機会がアプリにはありませんので、
③ サポートされている場合には、プリンタの設定を変更し、その解像度でのCanvas描画を行います。
にしのさんのResのとおり、DephiのTPrinterは①からもうできません。
APIを駆使して実現することは可能でしょうが、苦労して作れても、自分が使っているプリンタに対応したコードが書けるだけで、他のプリンタで通用するかどうかは解りません。つまり、プリンタの仕様はそれほど統一されていませんので、実際にどうなるかは試してみないと解らないのです。
解像度の変更の仕方を掲載した専門書も持っていますが、よくもまあ、こんな無責任な解説ができるものだという内容です。
少なくともCanonとEpsonで通用しなければ。
すでに、ある程度コードを書き進めていたとしても、それをすべて破棄して、
NkPrinterで一(=「通常使う」プリンタの確認、必要ならその変更)から構成しなおした方がよいと思います。
少なくとも、ダウンロードと解凍だけは行い、Helpの「NkPrinterの使い方」だけは読むべきだと思います。
そうすれば、複雑怪奇に見えた印刷のプログラミングが簡単に見えてきますし、
なぜ多くの人がNkPrinterを薦めるかも解るでしょう。
NkPrinterは中村拓男さん個人の労作ですが、全国の仲間の方が多くのプリンタで検証テストを重ねる中で作られていますので、極めて信頼性の高いものです。
ただし、解像度については各メーカー、各機種ごとに独自の選択肢を搭載していますので、NkPrinter付属のDemoコード、HelpのReferenceをよく読み、自分で整理し直すことが必要でしょう。
ツイート | ![]() |