LEADTOOLS GDI/GDI+(Leadtools.Drawingアセンブリ)

フレームを表示

RasterPaintDibInfoクラス






メンバ 
このクラスは、カスタム描画コールバックによって期待される画像データを説明します。それが、RasterPaintCallbacksコールバックで使われます。
オブジェクトモデル
構文
public class RasterPaintDibInfo 
'Declaration
 
Public Class RasterPaintDibInfo 
'Usage
 
Dim instance As RasterPaintDibInfo
public ref class RasterPaintDibInfo 
解説

ユーザーは、通常このクラスを割り当てて、RasterImagePaintCallbackFunction.GetDibInfoCallbackコールバックからそれを返します。

サンプル

このサンプルは、図形装置が低い12ビットで画像データで16ビットimageを期待することを示す方法を示します。通常のGDI関数ではデータは上下逆になることを期待しますが、この特定のカードではデータが上から下に進むと期待しています。

これがこれらのクラスを実装するために最も役に立つ言語であるので、サンプルはC++/CLIです。

Copy Code  
// macro that calculates the number of bytes per line, rounding up to a multiple of 4 bytes
#define DIB_WIDTH_BYTES(pixels) ((((pixels) + 31) & ~31) >> 3)
             
Object^ myPaintCallbacks::GetDibInfoCallback(RasterImage^ image, array<Object^>^ args)
{
   // make sure the parameters are correct
   if(args->Length != 2 || image == nullptr)
   {
      throw gcnew RasterException(RasterExceptionCode::InvalidParameter);
      return nullptr;
   }
   UInt32 uWidth = (UInt32)args[1];
   RasterPaintDibInfo^ pDibInfo = gcnew RasterPaintDibInfo;
   if(pDibInfo == nullptr)
   {
      throw gcnew RasterException(RasterExceptionCode::NoMemory);
      return nullptr;
   }
            
   pDibInfo->Default();
   pDibInfo->BitsPerPixel = 16;          // paint using 16-bit data, although there are only 12 significant bits
   pDibInfo->PlaneCount = 1;             // One plane
   pDibInfo->BytesPerLine = DIB_WIDTH_BYTES(uWidth * 16);   // bytes per line is a multiple of 4 bytes
   pDibInfo->ViewPerspective = RasterViewPerspective::TopLeft; // the data should be TOP_LEFT, not BOTTOM_LEFT like the data in the regular GDI functions
   pDibInfo->Order = RasterByteOrder::Gray;         // gray bitmap
            
   // indicate that the data should be in the low 12 bits
   pDibInfo->Flags = RasterPaintDibInfoFlags::LowHighBitValid;
   pDibInfo->LowBit = 0;
   pDibInfo->HighBit = 11;
            
   return pDibInfo;
}
必要条件

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

参照

参照

RasterPaintDibInfoメンバ
Leadtools.Drawing名前空間
RasterPaintCallbacksクラス
RasterPaintProperties.PaintCallbacks
カスタム描画を実装すること