Leadtools名前空間 > RasterImageクラス :ToDibメソッド |
public IntPtr ToDib( RasterConvertToDibType type )
'Declaration
Public Function ToDib( _ ByVal type As RasterConvertToDibType _ ) As IntPtr
'Usage
Dim instance As RasterImage Dim type As RasterConvertToDibType Dim value As IntPtr value = instance.ToDib(type)
public IntPtr ToDib( RasterConvertToDibType type )
- (nullable LTHandle *)toDib:(LTRasterConvertToDibType)type
function Leadtools.RasterImage.ToDib( type )
public: IntPtr ToDib( RasterConvertToDibType type )
このメソッドが完了すると、メモリには2つのimageが存在します:DIBとオリジナルのRasterImage。片方を開放しても他方に影響しません。
このメソッドDIBビットマップを割り当てて、そして、DIBへのRasterImageをコピーします。
注意:このメソッドは、アンマネージバッファでデータを返します。それがもはや必要でないとき、呼び出し元はDIBのIntPtrを開放する役割を果たします。Marshal.FreeHGlobalを使うことができます。
DIBは、以下の1つから構成されます:
カラーテーブル、それからビットマップデータが続きます。結果として生じるDIB型は、型引数の値によって決定されます。
imageとカラーオーダーの向きは、imageがどのようにRasterImageにロードされたかに依存します。
DIBをもはや必要としないとき、Windows GlobalFree関数またはFreeHGlobalを用いてそれを開放することができます。
DDBとDIBの詳細については、「概要」を参照してください。DIB、DDBとクリップボード.
この関数は、符合付きイメージをサポートしません。
Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.ImageProcessing Imports Leadtools.ImageProcessing.Core Imports Leadtools.ImageProcessing.Color Imports Leadtools.Controls Imports Leadtools.Dicom Imports Leadtools.Drawing Imports Leadtools.Svg Public Sub ToDibExample() Dim codecs As RasterCodecs = New RasterCodecs() Dim dib As IntPtr Using image As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")) dib = image.ToDib(RasterConvertToDibType.BitmapInfoHeader) End Using Using image As RasterImage = RasterImage.FromDib(dib) codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "Image1_FromDib.bmp"), RasterImageFormat.Bmp, 0) End Using Marshal.FreeHGlobal(dib) codecs.Dispose() End Sub Public NotInheritable Class LEAD_VARS Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" End Class
using Leadtools; using Leadtools.Codecs; using Leadtools.ImageProcessing; using Leadtools.ImageProcessing.Core; using Leadtools.ImageProcessing.Color; using Leadtools.Dicom; using Leadtools.Drawing; using Leadtools.Controls; using Leadtools.Svg; public void ToDibExample() { RasterCodecs codecs = new RasterCodecs(); IntPtr dib; using (RasterImage image = codecs.Load(Path.Combine(ImagesPath.Path, "Image1.cmp"))) { dib = image.ToDib(RasterConvertToDibType.BitmapInfoHeader); } using(RasterImage image = RasterImage.FromDib(dib)) { codecs.Save(image, Path.Combine(ImagesPath.Path, "Image1_FromDib.bmp"), RasterImageFormat.Bmp, 0); } Marshal.FreeHGlobal(dib); codecs.Dispose(); }
RasterImageExamples.prototype.ToDibExample = function () { Tools.SetLicense(); with (Leadtools) { with (Leadtools.Codecs) { var codecs = new RasterCodecs(); var dib; var srcFileName = "Assets\\Image1.cmp"; var image; var image2; return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) { return codecs.loadAsync(LeadStreamFactory.create(loadFile)) }) .then(function (img) { image = img; dib = image.toDib(RasterConvertToDibType.bitmapInfoHeader); image2 = RasterImage.fromDib(dib, 0); return Tools.AppLocalFolder().createFileAsync("Image1_FromDib.bmp") }) .then(function (saveFile) { var saveStream = LeadStreamFactory.create(saveFile); return codecs.saveAsync(image, saveStream, RasterImageFormat.bmp, 0) }) .then(function () { image2.close(); image.close(); codecs.close(); }); } } }
using Leadtools; using Leadtools.Codecs; using Leadtools.ImageProcessing; using Leadtools.ImageProcessing.Core; using Leadtools.ImageProcessing.Color; using Leadtools.Dicom; public async Task ToDibExample() { RasterCodecs codecs = new RasterCodecs(); Windows.Storage.Streams.IBuffer dib; string srcFileName = @"Assets\Image1.cmp"; StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName); using (RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile))) { dib = image.ToDib(RasterConvertToDibType.BitmapInfoHeader); } using (RasterImage image = RasterImage.FromDib(dib, 0)) { StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync("Image1_FromDib.bmp"); ILeadStream saveStream = LeadStreamFactory.Create(saveFile); await codecs.SaveAsync(image, saveStream, RasterImageFormat.Bmp, 0); } codecs.Dispose(); }