LEADTOOLS ナレッジベース

[Imaging Proファミリー][RasterImageViewer] 1ビットの白黒画像がきれいに表示されません。

Imaging Proファミリー製品で1ビット画像を拡大・縮小表示した際に画質が低下するのは、1ビット画像のグレースケール表示機能(RasterPaintDisplayModeFlags列挙体のScaleToGray)が無効になっているためです。
RasterPaintDisplayModeFlags列挙体のScaleToGrayはDocument imaging以上の製品でのみでサポートされている機能のため、Imaging Proファミリー製品では適用することができません。

Imaging Proファミリー製品で画質の低下を抑えるには、ColorResolutionCommandクラスを使用して1ビット画像を2ビット画像に変換し、Leadtools.Drawing.RasterPaintPropertiesのPaintDisplayModeプロパティにResampleもしくはBicubicを設定する方法があります。

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

' 1ビット画像を2ビット画像に変換します。
Dim command As New Leadtools.ImageProcessing.ColorResolutionCommand()
command.BitsPerPixel = 2
command.Run(RasterImageViewer1.Image)

' 描画プロパティを設定します。
Dim properties As New Leadtools.Drawing.RasterPaintProperties()
properties = Leadtools.Drawing.RasterPaintProperties.Default
properties.PaintDisplayMode = Leadtools.Drawing.RasterPaintDisplayModeFlags.Bicubic
RasterImageViewer1.PaintProperties = properties

サンプルコード(C#)

// 1ビット画像を2ビット画像に変換します。
Leadtools.ImageProcessing.ColorResolutionCommand command = new Leadtools.ImageProcessing.ColorResolutionCommand();
command.BitsPerPixel = 2;
command.Run(rasterImageViewer1.Image);

// 描画プロパティを設定します。
Leadtools.Drawing.RasterPaintProperties properties = new Leadtools.Drawing.RasterPaintProperties();
properties = Leadtools.Drawing.RasterPaintProperties.Default;
properties.PaintDisplayMode = Leadtools.Drawing.RasterPaintDisplayModeFlags.Bicubic;
rasterImageViewer1.PaintProperties = properties;

 

※ 1ビット画像のビット数を2ビットに増やしていることや、描画プロパティの設定でResample/Bicubicなど高品質での表示となるため、デフォルト(None)の表示の場合やScaleToGrayを使用した場合と比べてレスポンスは遅くなります。あらかじめご了承ください。

 

関連情報

0 コメント

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