掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
正確な印字サイズを得るには? (ID:4310)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
にしの様へ NkPrinterはバージョンアップされていません。 あくまで得られるのは実寸を求めるのに必要な値です。 そもそも質問は 何ポイントの大きさならば、指定された幅に印字出来るのか?」を求める ことでにしのさんいう「書くとはみ出す」というのとは違うように思います。 私が言っているのは 「紙のサイズとドットすうがわかればポイントによるサイズは換算できる」 という点です。 無論最初の質問がにしのさんのような使用目的の場合もありますが 以前私自身の問題に直面したときは 「正確な印刷するためのサイズだし」 でありはみ出すとかということではなかったのでの意見です。 それをいいだすとDHGLにもそういうプロパティもなく 印刷での成功率が高いのは中村氏によると 「Canvas.Draw メソッドのパラメータに TBitmap のインスタンスを指定すると、正常に描画できないことがあります。これは、プリンタドライバに依っては StretchBlt API でビットマップを印刷すると正常に印刷できないケースが多々有るからです。」 ということです。 ○××○様へ ありがちなハンドル名の歪曲しての使用は 最終的には自己否定になるので止めたほうがよいと思います。 但しあなた自体が「解」をひっさげてのいいがかりならばよいと思います。 一般論がたいていの場合答えではないでしょうか? 詳細コードや説明は理解されない可能性が多いので調査のためのポイントを示しているのです。 例えばdirect Input関連にしろタスクトレー関連にしろあれ以上の詳細なレスを書いたら単なるアーティクルになってしまいます。 そのアーティクルは既に誰かが書いているのでURLまで含めて書いたわけですが それでわからないとなるとおそらく 「何をいってもわからない」 としか考えようがありません。 1.オーバーラップについて こういうときの私の答えは Google等で オーバーラップ プログラミング ラップ プログラミング で探索してください。 です。 私はアンチオジジェクト指向のプログラミングをするのでdelphi固有のしがらみからは開放されていますが 一般的なdelphiプログラマーの場合オーバーラップという言葉 特に「delphiのAユニットはBユニットをオーバーラップしている」 といのがわからないというのはかなり問題があると思います。 2.そこを質問しているのでは? どのようにいい加減なのでしょう。 質問はdelphiの関数についてでWinAPIについてではありません。 この回答はコードを組める人がわざわざWinAPIからコードを組みなおすことを避ける為のヒントです。 無論より低位のフォントサイズを求める関数まで否定しているわけではありません。 レスが長くなるので例を避けたのですが delphiで扱えない回転文字を扱えるようにTfontを改造しようとして WinAPIでサイズ取得しようとすると理解できるでしょう。 ひとことでいうと「普通のパラメータで横書きする数値しか得られない」です。 グラフフィックスに関してWinAPIのいいかげんさとdelphiのいいかげんさと 両方があります。 紐解くと結局あちらこちらでformsとgraphicsが相互に絡み付いていて 位置から書き直したほうが速い場合もあるため 商用のコンポーネントが成立しているのだと思います。 3.Nkprinterなら、APIで解決できないのを解決できるんですか? 話が随分食い違っているように思います。 例えば単純に印刷するときにしのさんが紹介したDHGLの印刷機能は 失敗が少ないはずだと作者の中村氏はいっています。 しかしサイズ取得関数はないはずです。 この手のレスはこれっきりにしてもらいたいものですね。 無論何らかのFAQとして意味のあるドキュメントという前提で書いては見ました。 --- とりあえず一ついえることはフォントというのは幅がデータとしてあるので それにもとずいて描画しているわけですから なんでも自動のプロパティで取得するという形にしなければ解決法は複数あると思います。 奥の手として 「等幅フォント一文字ずつ場所を決めて書く」 という手もあります。エクセルやhtmlドキュメントの描画などで私は昔この手を使っていました。 あと有料のコンポーネントでこの手の機能があるものは 探せばあるかもしれません。 ま、「宜しくお願いします。」さんが(これもよくないハンドルの例だけど) 試行錯誤しながらでもどこかにたどり着けばよいかと思います。 フォントについて興味のあるひとはフォントの成り立ちについて解説したサイトがあり いかにすればフォントのサイズを得られるかということがわかるための情報が 載っています。 印刷のみならずGridなどを自前で実装してみようという人は フォント特に英語がどういう形であるか勉強してみるのもマイナスにはならないと思います。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.