LEADTOOLS GDI/GDI+

フレームを表示

LEADTOOLS RasterImage クラスでは、プラットフォームに依存せず画像を表現することができます。これは画像の操作や変換のための作業領域として働きます。LEADTOOLS関数は、メモリ内のimageにアクセスするために、そして、imageの特徴を維持管理するためにこのクラスを使用します。このトピックは、Windows GDIとGDI+(System.Drawing)プラットホームでLEADTOOLS RasterImageクラスを使用する方法を議論します。

デバイスへの描画

Windows GDIとGDI+プラットホームでは、それの上で描画するために、デバイスまたはウィンドウにハンドルを得ます。このハンドルは、GDI HDC ハンドル、またはGDI+ System.Drawing.Graphicsオブジェクトです。

GDIまたはGDI+ハンドルにRasterImageオブジェクトを描画するために、いろいろなRasterImagePainter.Paintメソッドを使います。これはWindows APIのBitBlt、StretchBlt、およびSystem.Drawing.Graphics.DrawImageメソッドに相当します。

デバイスにRasterImageで現在のリージョンにより用いられる領域だけを描画するために、RasterImagePainter.FrameRegionRasterImagePainter.FillRegionを使います。これは、ウィンドウズAPI FrameRgn/FillRegionSystem.Drawing.Graphics.FillRegionメソッド相当です。

GDIとGDI+に、パレットは、パレット画像を描画するとき、デバイスで設定されなければなりません。RasterImagePainter.Paintメソッドはパレットに載せられたRasterImageオブジェクトを描画するとき、内部的にパレット処理を引き受けますが、必要とされるならば、使われるパレットを取得するためにRasterImagePainter.GetPaintColorsRasterImagePainter.GetPaintHPaletteを使うことができます。

LEADTOOLS imageの表面の上の描画

Windows GDIは、MoveTo/LineToFillRect APIなどのHDCに頼るために、多くの関数を格納します。RasterImageの表面を表すGDI HDCオブジェクトを得るために、RasterImagePainter.CreateLeadDCを使います。その後、各種GDIメソッドを使用してこの画像に描画できます。

同様に、GDI+システムSystem.Drawing.Graphicsは外面上は描画するためにいろいろなメソッドを格納します、RasterImageの表面を表すGDI+ System.Drawing.Graphicsオブジェクトを得るために、RasterImagePainter.CreateGraphicsメソッドを使います。その後、各種GDIメソッドを使用してこの画像に描画できます。

画像変換

LEADTOOLS RasterImageクラスは、GDI DIB、HBITMAPとGDI+ System.Drawing.Bitmapオブジェクトより多くのピクセルとカラー形式をサポートします。LEADTOOLSは、GDIまたはGDI+ imageへ、あるいは、からRasterImageオブジェクトを変換することができます。また、ピクセル形式が互換性を持つならば、RasterImageはGDIまたはGDI+ imageへ、あるいは、から変更されることができます。これは、他の上で反映される1つのオブジェクトの上でこれらのオブジェクトと任意の変化の間で共有されるのにメモリを見込みます。

GDIイメージへの、そして、からの、変換

GDI DIB(デバイス非依存ビットマップ)にRasterImageを変換するために、RasterImage.ToDibRasterImage.ToDibArrayメソッドを使います。RasterImageにDIBを変換するために、RasterImage.FromDibRasterImage.FromDibArrayを使います。

同じメモリ(ピクセルとカラー形式が互換性を持つならば)を共有している両方のオブジェクトを保持している間、RasterImageにDIBを変更するためにGDI DIBとRasterImage.ChangeFromDibRasterImageを変更するために、RasterImage.ChangeToDibを使います。

GDI DDB(デバイス依存ビットマップ)にRasterImageを変換するために、RasterImageConverter.ToHBitmapメソッドを使います。RasterImageにDDBを変換するために、RasterImageConverter.FromHBitmapを使います。同様に、RasterImageConverter.ChangeFromHBitmapRasterImageConverter.ChangeToHBitmapは、DDB(ピクセルとカラー形式が互換性を持つならば)へ/からRasterImageを変更するのに用いられることができます。

Windows WMF(Windowsメタファイル)またはEMF(Windows Enhanced Metafile)オブジェクトにRasterImageを変換するために、RasterImageConverter.ToWmfRasterImageConverter.ToEmfを使います。RasterImageにWMF/EMFを変換するために、RasterImageConverter.FromWmfRasterImageConverter.FromEmfを使います。同様に、RasterImageConverter.ChangeFromWmfRasterImageConverter.ChangeFromEmfRasterImageConverter.ChangeToWmfRasterImageConverter.ChangeToEmfは、WMF/EMF(ピクセルとカラー形式が互換性を持つならば)へ/からRasterImageを変更するのに用いられることができます。

GDI+イメージへの、そして、からの、変換

GDI+ System.Drawing.ImageにRasterImageを変換するRasterImageConverter.ConvertToImageメソッドオブジェクトを使います。RasterImageSystem.Drawing.Imageオブジェクトを変換するために、RasterImageConverter.ConvertFromImageを使います。

GDI+はLEADTOOLSに含まれている一部のピクセルおよび色形式をサポートしているため、RasterImageがGDI+と互換性がある場合、RasterImageConverter.ChangeToImageメソッドを使用してRasterImageをGDI+ System.Drawing.Imageオブジェクトに変更できます。このメソッドを呼び出した後に、両方のオブジェクトは同じメモリを共有します、そして、1への変化は他に影響を及ぼします。RasterImageがGDI+と互換性を持つならば、チェックするために、RasterImageConverter.TestCompatibleメソッドを使うことができます。RasterImageConverter.MakeCompatibleメソッドを使用すると、内部の色またはピクセル形式を必要に応じて変更することにより、RasterImageを強制的にGDI+互換にすることができます。

リージョン変換

LEADTOOLS RasterImageは、特定の領域に画像データを操作することを制限するのに用いられることができるオプションのリージョン領域を持っています。RasterRegionとしてRasterImageで現在のリージョンを得るために、RasterImage.GetRegionを使うことができますオブジェクト。また、RasterImage.SetRegionメソッドは、設定するか、新しいリージョンをRasterImageに組み込むのに用いられることができます。

GDI+ System.Drawing.RegionにRasterRegionオブジェクトを変換するRasterRegionConverter.ConvertToRegionオブジェクトを使います。RasterRegionConverter.ConvertFromRegionは、RasterRegionにGDI+ System.Drawing.Regionを変換するのに用いられることができます。

GDI HRGNにRasterRegionオブジェクトを変換するRasterRegionConverter.ConvertToRegionHandleオブジェクトを使います。RasterRegionConverter.ConvertFromRegionHandleは、RasterRegionにGDI HRGNを変換するのに用いられることができます。

WPFとSilverlightでRasterImageを使うことに関する情報については、「RasterImageとWpf/Silverlight」を参照してください。