QuickReport の QRShape の使い方について

解決


メッサ  2005-08-12 21:29:40  No: 17020

<作成段階>
①Form 上に QuickRep を貼り付けます。
②QuickRep の [Frame]-[Drawottom],[DrawLeft],[DrawRight],[DrowTop] を True にします。
②QuickRep の [Frame]-[Width] を 2 にします。
③QuickRep 上に QRShape を貼り付けます。
④QRShape の [Shape] を [qrsVertLine] に設定します。
④QRShape の [Pen]-[Style] を [psDot] に設定します。
⑤QRShape の [Pen]-[Width] を [4] に設定します。
⑥Form 上に Button を貼り付けます。
⑦Button のクリックイベントに QuickRep.Preview を記述

この時点ではイメージどおりに作成できているので、
実行しました。

<実行段階>
⑧フォーム上に表示されている QuickRep は正常です
⑨ボタンを押したプレビュー画面が最大(スクリーン全体)で表示されています。

質問1:この時点で、プレビュー画面の表示では点線が表示されません。
        どうしてでしょうか?

⑩ちなみにウィンドウ右上の最大化ボタン(現在最大化になっている)を押してみると
  ウィンドウは小さくなり、表示はイメージ通り(点線になっている)になりました。
⑪プレビュー画面の印刷ボタンを押して、印刷してみました。
  プレビューの線の太さで印刷されません

質問2:プレビュー画面では線が太くなっていたのですが、
    印刷されたものは線が細くなってしまうのはどうしてでしょう?

⑫QRShape の [Pen]-[Width] を [20] に設定変更します。
⑬プレビューを行いました。線の太さが非常に太すぎます。
⑭印刷してみました。イメージ近い印刷状態になっています。

質問3:どうすれば、プレビューのイメージと印刷のイメージを同じにできるのでしょうか?
質問4:Frame の Width と、Pen の Width とで線の状態が違って印刷されるのはどうしてでしょうか?

以上、質問が多くてすみませんが、よろしくお願いします。


メッサ  2005-08-18 04:53:09  No: 17021

しばらく考えて見ます。


ふむふむふむの助  2005-08-18 18:15:31  No: 17022

解決マークつきですが・・・

> 質問1:この時点で、プレビュー画面の表示では点線が表示されません。
>         どうしてでしょうか?
これは知らない。
拡大しても見えないだけではないか?

> 質問2:プレビュー画面では線が太くなっていたのですが、
> 印刷されたものは線が細くなってしまうのはどうしてでしょう?

QRShapeは、解像度に関係なく[Pen]-[Width] を 指定した太さで描画するため。
画面の解像度(72dpi?)とプリンタの解像度(300dpi↑?)の違いを無視している。
ただし、Frameでの枠線は多少考慮しているため、QRShapeほど、画面と印刷物の差がひどくならない。
でも、印刷物の線を太くしたいときは、プレビュー時にかなり太くなることを覚悟しないといけないはず。

> 質問3:どうすれば、プレビューのイメージと印刷のイメージを同じにできるのでしょうか?
ソース持っていても、相当難しい。
以前、プレビュー時の解像度を上げようとしたが、修正箇所が多く断念した。
(解像度を上げることができれば、印刷物とプレビュー時の違いがなくなると考えた)

> 質問4:Frame の Width と、Pen の Width とで線の状態が違って印刷されるのはどうしてでしょうか?
質問2で回答した通り。
Frameでの線とQRShapeの線では、描画時におけるPenWidthの与え方が違う。

もうひとつ、今回の質問に関係ないが、[Frame]-[Drawottom],[DrawLeft],[DrawRight],[DrowTop]としたとき、
四角形が描画されるが、こちらはそれぞれの線を MoveTo,LineToで描いている。
逆に、[Shape] を [qrsRectangle] にした場合、Rectangle で描画している。
これは、(たぶん)わかる人にはわかる差がでる。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加