2017-06-15 9 views
1

コンパクトな枠組みの中でのビットマップの解像度を設定することができカシオIT 9000手端子私はいくつかの理由でビットマップが、印刷することができは、どのように私は私が使用して印刷したい私は、Bitmapオブジェクトを持っている

(私たちはコンパクトFrameworkを使用している理由)それは異なるデバイスでスケールアップします。私はこの問題を解決するテストプログラムで「Vertical Resolution」の設定を見つけましたが、この値の使い方を見つけることができませんでした。

インターネットが

Bitmap.SetResolution

機能を使用するように私に語ったがSetResolutionは、Compact Frameworkの3.5に存在しません。

私が見つけたもう一つの回避策は、ビットマップのサイズを変更することですが、オリジナルのビットマップはメモリ内に4MBのオブジェクトを作成します。私たちはメモリ使用量の限界にありますので、メモリ不足例外デバイスが一貫してスローされることなく、別のBitmapオブジェクトを割り当てることができません。

私の現在の選択肢は、 1ビットマップ解像度を何らかの形で設定するか、 2割り当てなしでビットマップのサイズを変更します。

これを行うには、他の方法はありますか、どのように私は質問はあなたがビットマップを印刷するか、である

答えて

1

を設定する垂直解像度を使用することができます。 Windows CE 5.xまたはWindows Mobile 6.xデバイスを備えた実際のプリンタドライバはありません。したがって、プリンタのネイティブプリンタ言語を使用してプリンタポ​​ートに直接印刷するか、PrinterCEのような種類のプリンタドライバとライブラリを使用する必要があります。印刷方法に関する情報はここにはありません。

ストリームを使用してビットマップを拡大/縮小するには、openNetCFのライブラリ(ImageHelperクラス、例についてはProblems using ImageHelper to resize images on OpenNetCF with HTC T3333を参照)を使用します。

実際のドライバは存在しないため、スケーリングはアプリケーションによって行われます。ただし、スケーリングは、自分自身でスケーリングできるプリンタ言語(PostScriptなど)を除きます。モバイル環境やモバイルプリンタでは、印刷されるビットマップのサイズは主にプリンタの解像度に依存します。したがって、ビットマップが250x250ピクセルで、100dpiの印刷解像度で(ESC/Pなどのネイティブプリンタ言語を使用して)プリンタに「印刷」されている場合、ビットマップは2x2インチで印刷されます。プリンターが200dpiのネイティブ解像度を持つ場合、印刷されるビットマップは〜1x1インチになります。あなたは多かれ少なかれビットマップごとに1つずつプリントドットを設定します。このようなプリンタは、TIFFやJPGなどのビットマップ形式で使用可能なビットマップ解像度値を気にしません。これらの解像度値は、例えば、ビットマップが150dpiの解像度を有すると言う。その解像度で印刷された場合、ビットマップは「オリジナル」サイズで出力されます。ビットマップの解像度が150dpiで300x300ピクセルの場合、元のサイズは〜2x2インチです。しかし、それがダムの300dpiプリンター(スケーリングサポートなし)にネイティブで印刷されている場合は、1x1インチで印刷されます。

関連する問題