LEADTOOLS ナレッジベース

[PDF Pro][RasterImageViewer] PDFファイルを拡大/縮小表示した場合に画質の低下を抑えるには?

RasterCodecs.LoadメソッドでRasterImageオブジェクトにPDFファイルを読み込む場合、ラスタ画像(ビットマップ画像)に変換して画像データを保持します。通常ベクタ形式であるPDFファイルをラスタ形式として読み込むため、PDFファイルと比べて若干画質が低下します。Adobe ReaderやAcrobat等と全く同じ品質で表示することはできません。これはLEADTOOLSの仕様となります。

■画質の低下を抑える方法

CodecsPdfLoadOptionsクラスのGraphicsAlphaプロパティ、TextAlphaプロパティで画像やテキストにアンチエイリアスを設定することと、CodecsRasterizeDocumentLoadOptionsクラスのXResolution、YResolutionプロパティで解像度を設定することで画質の低下を抑えることが可能です。

サンプルコード(VB.NET)

Dim codecs As New RasterCodecs

' グラフィックアンチエイリアスを設定します。
codecs.Options.Pdf.Load.GraphicsAlpha = 2
' フォントアンチエイリアスを設定します。
codecs.Options.Pdf.Load.TextAlpha = 4
' 画像のビット数を設定します。
codecs.Options.Pdf.Load.DisplayDepth = 24

' 水平および垂直方向の表示解像度(DPI)を設定します。
codecs.Options.RasterizeDocument.Load.XResolution = 300
codecs.Options.RasterizeDocument.Load.YResolution = 300

サンプルコード(C#)

RasterCodecs codecs = new RasterCodecs();

// グラフィックアンチエイリアスを設定します。
codecs.Options.Pdf.Load.GraphicsAlpha = 2;
// フォントアンチエイリアスを設定します。
codecs.Options.Pdf.Load.TextAlpha = 4;
// 画像のビット数を設定します。
codecs.Options.Pdf.Load.DisplayDepth = 24;

// 水平および垂直方向の表示解像度(DPI)を設定します。
codecs.Options.RasterizeDocument.Load.XResolution = 300;
codecs.Options.RasterizeDocument.Load.YResolution = 300;


また、ビューワ(RasterImageViewerなど)を使用時に、拡大/縮小して表示する際には、RasterPaintProperties.PaintDisplayModeプロパティに「RasterPaintDisplayModeFlags.Resample」または「RasterPaintDisplayModeFlags.Bicubic」を設定することで画質の低下を抑えることができます。

サンプルコード(VB.NET)

' RasterImageオブジェクトの描画品質を制御します。
Dim properties As New RasterPaintProperties()
properties = RasterPaintProperties.Default
properties.PaintDisplayMode = RasterPaintDisplayModeFlags.Bicubic
RasterImageViewer1.PaintProperties = properties

サンプルコード(C#)

// RasterImageオブジェクトの描画品質を制御します。
RasterPaintProperties properties = new RasterPaintProperties();
properties = RasterPaintProperties.Default;
properties.PaintDisplayMode = RasterPaintDisplayModeFlags.Bicubic;
rasterImageViewer1.PaintProperties = properties;

 

関連情報

0 コメント

記事コメントは受け付けていません。