フレームを表示

RASTERIZEDOCOPTIONS

フレームを表示

typedef  struct _RASTERIZEDOCOPTIONS
{
   L_UINT uStructSize;
   L_DOUBLE dPageWidth;
   L_DOUBLE dPageHeight;
   L_DOUBLE dLeftMargin;
   L_DOUBLE dTopMargin;
   L_DOUBLE dRightMargin;
   L_DOUBLE dBottomMargin;
   RASTERIZEDOC_UNIT uUnit;
   L_UINT uXResolution;
   L_UINT uYResolution;
   RASTERIZEDOC_SIZEMODE uSizeMode;
} RASTERIZEDOCOPTIONS, *pRASTERIZEDOCOPTIONS;

RASTERIZEDOCOPTIONS構造体は、LEADTOOLSで文書ファイルをラスタライズすることに関する情報を提供します。

メンバ

説明

uStructSize

構造体のサイズ。LEADにこの構造体を渡すことが機能する前に、これは設定されなければなりません。この値を計算するために、マクロsizeof(RASTERIZEDOCOPTIONS)を使います。

dPageWidthな

BITMAPHANDLEがuUnit値で測定した結果の幅。

デフォルト値は、8.5のインチです。dPageWidthの値は、0より大きくなければなりません。

結果ラスター画像幅と高さの値は、現在の解像度とサイズモード値にピクセル単位で依存します。

uSizeModeの値がRASTERIZEDOC_SIZEMODE_NONEに設定されるとき、オリジナルドキュメントサイズは保持されて、それゆえに、dPageWidthです、そして、dPageHeightが使われません。

dPageHeight

BITMAPHANDLEuUnit値で測定した結果の高さ。

デフォルト値は、11のインチです。dPageHeightの値は、0より大きくなければなりません。

dLeftMargin

マージン値は、ラスター画像にドキュメントをラスタライズするとき、使う値をuUnitで測定しました。デフォルト値は、1.25のインチです。dLeftMarginの値は、0以上でなければなりません。

dLeftMarginの値、dTopMargin、dRightMarginとdBottomMarginが、RTFとTXTドキュメントをロードするとき、使われるだけです。PDF、XPSとXLSなどの他の文書形式をロードするとき、使われません。

解像度は、結果ラスター画像の画素密度を制御します。たとえば、96の8.5×11インチのページ幅と高さと解像度を指定するならば、結果imageは(8.5 * 96 = 816)と(11 * 96 = 1056)ピクセルのピクセル幅と高さを持っています。これは100%のズームパーセンテージで表示するのに向いています、しかし、ズームインし始めるとき、imageはピクセル化されます。プリンターが通常画面より非常に高い解像度を持っているため、プリンターにラスター画像を送るならば、ピクセル動作は発生もするかもしれません。

ズームインすることまたは高品質プリントがcodeの必要条件であるならば、より高い解像度値(たとえば300×300)は指定されなければなりません。8.5×11インチのドキュメントの場合、300×300の解像度を指定するとラスター画像のサイズは(8.5 * 300 = 2550)×(11 * 300 = 3300)ピクセルになります。印刷するか、ズームインするのに向いているより。解像度を増やすことが画像データを保持するのに用いられるメモリを増やすことを心にとめておきます。ピクセル密度とメモリ使用量のバランスをどの程度にすればよいかは、アプリケーションの要件によって異なります。

BITMAPHANDLEがロードされたあと、image解像度はbitmap.XResolutionで設定しました、そして、bitmap.YResolutionはuXResolutionとuYResolutionと同じでしょう。

垂直解像度は、uYResolutionで指定されています。大部分の通常の使用のために、値

XResolutionとYResolutionは、等しくなければなりません。

dTopMargin

マージン値は、ラスター画像にドキュメントをラスタライズするとき、使う値をuUnitで測定しました。デフォルト値は、1.0のインチです。dTopMarginの値は、0以上でなければなりません。

dRightMargin

マージン値は、ラスター画像にドキュメントをラスタライズするとき、使う値をuUnitで測定しました。デフォルト値は、1.25のインチです。dRightMarginの値は、0以上でなければなりません。

dBottomMargin

マージン値は、ラスター画像にドキュメントをラスタライズするとき、使う値をuUnitで測定しました。デフォルト値は、1.0のインチです。dBottomMarginの値は、0以上でなければなりません。

uUnit

dPageWidth、dPageHeight、dLeftMargin、dTopMargin、dRightMarginとdBottomMarginの用途への単位。デフォルト値は、RASTERIZEDOC_UNIT_INCHです。可能な値は以下の通りです:

 

意味

 

RASTERIZEDOC_UNIT_PIXEL

[0] 値は、ピクセルにあります。

 

RASTERIZEDOC_UNIT_INCH

[1] 値は、インチです。

 

RASTERIZEDOC_UNIT_MILLIMETER

[2] 値は、ミリメートルです。

uXResolution

文書ファイルをラスタライズするとき、使う水平解像度。値0は、現在の画像の解像度を使用するという意味です。デフォルト値は、150です。

uYResolution

文書ファイルをラスタライズするとき、使う垂直解像度。値0は、現在の画像の解像度を使用するという意味です。デフォルト値は、150です。

uSizeMode

最終的な物理的なラスター画像サイズにdPageWidthとdPageHeightで指定されている論理的サイズを変換するとき、使う変換。デフォルト値は、RASTERIZEDOC_SIZEMODE_NONEです。

 

最終的なラスター画像サイズを制御するためにdPageWidthとdPageHeightを使う方法を制御するために、uSizeModeを使うことができます。LEADTOOLSは、オリジナルドキュメントサイズ(FILEINFO.dDocPageWidthとFILEINFO.dDocPageHeightで得られることができる値)を決定します

 

そして、以下のように最終的なビットマップ幅と高さを決定するために、この値から変換を適用します:

 

説明

 

RASTERIZEDOC_SIZEMODE_NONE

[0] オリジナルドキュメント幅と高さを使います。変換は実行されないで、dPageWidthでないでしょう、そして、dPageHeightが使われません。

 

最終的なビットマップは、値がオリジナルドキュメントサイズに等しい幅または高さを持っています。

 

RASTERIZEDOC_SIZEMODE_FIT

[1] アスペクト比を維持管理している間、結果ラスター画像をdPageWidthとdPageHeightにはめ込みます。オリジナルドキュメントサイズが要請されたページサイズより小さいならば、変換は実行されません。

 

最終的なビットマップは、幅または高さを要請されたページ幅または高さに、または、それより少なく等しいが、よりすばらしくないようにします。

 

RASTERIZEDOC_SIZEMODE_FIT_ALWAYS

[2] 常に、アスペクト比を維持管理している間、結果ラスター画像をdPageWidthとdPageHeightにはめ込みます。オリジナルドキュメントサイズが要請されたページサイズより小さいならば、結果imageは上へ拡大縮小されます。

 

最終的なビットマップは、幅または高さを要請されたページ幅または高さと等しくします。より少なくなくてよりすばらしくない。

 

RASTERIZEDOC_SIZEMODE_FIT_WIDTH

[3] アスペクト比を維持管理している間、結果ラスター画像幅をdPageWidthにはめ込みます。image高さは、変換とdPageHeightに基づいて計算されますは使用しません。

 

最終的なビットマップは、幅を要請されたページ幅と等しくします。高さは、オリジナルドキュメント高さに依存します。

 

RASTERIZEDOC_SIZEMODE_STRETCH

[4] 結果ラスター画像幅と高さは、正確にdPageWidthとdPageHeightと等しいでしょう。アスペクト比は、オリジナルドキュメントとは様々かもしれません。

 

最終的なimageは、幅と高さを要請されたページ幅と高さと等しくします。

コメント

pRASTERIZEDOCOPTIONSは、RASTERIZEDOCOPTIONS構造体へのポインターです。

LEADTOOLSは、ラスター画像としてドキュメントをロードすることをサポートします。PDF、XP、DOCX/doc、PPTX/PPT、XLSS/XL、RTFとテキストなどの文書形式は、物理的な幅、高さまたは解像度を格納しません。ラスタライゼーションというプロセスによって論理的座標から物理的なピクセルまで変換を指定することは、ローダーまでです。

以下の関数は、この構造体を利用します:

L_GetRasterizeDocOptions

L_SetRasterizeDocOptions