LEADTOOLS(Leadtoolsアセンブリ)

フレームを表示

ToDibメソッド








作成するDIBの型。
このimageのWindowsデバイス非依存ビットマップ(DIB)バージョンを格納しているアンマネージポインターを取得します。
構文
'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)
- (nullable LTHandle *)toDib:(LTRasterConvertToDibType)type
 function Leadtools.RasterImage.ToDib( 
   type 
)

パラメーター

作成するDIBの型。

戻り値

Windows DIBへのハンドル。
解説

このメソッドが完了すると、メモリには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とクリップボード.

この関数は、符合付きイメージをサポートしません。

サンプル
Copy Code  
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();
}
必要条件

ターゲットプラットホーム

参照

参照

RasterImageクラス
RasterImageメンバ
FromDib(IntPtr)メソッド
FromDibArrayメソッド
ToDibArrayメソッド
RasterImageConverter.FromHBitmap
RasterImageConverter.ToHBitmap
ChangeFromDibメソッド
RasterImageConverter.ChangeFromHBitmap
ChangeToDibメソッド
RasterImageConverter.ChangeToHBitmap