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

フレームを表示

CreateLeadDCメソッド






ソースimage。
ディスプレイの表面としてこのLeadtools.RasterImageを用いてWindows GDIデバイスコンテキストを作成します。
構文
public static IntPtr CreateLeadDC( 
   RasterImage image
)
'Declaration
 
Public Shared Function CreateLeadDC( _
   ByVal image As RasterImage _
) As IntPtr
'Usage
 
Dim image As RasterImage
Dim value As IntPtr
 
value = RasterImagePainter.CreateLeadDC(image)
public:
static IntPtr CreateLeadDC( 
   RasterImage^ image
) 

パラメーター

image
ソースimage。

戻り値

このメソッドが作成するWindows HDCオブジェクト。
解説

このメソッドは、描画、消去、カラー消去とブラシ、ペン、スプレーガン、洪水塗りつぶし、カラーテレビ、テキストオーバレイ、カーブ、行、長方形、ポリゴン、楕円、フリーハンドのシェイプ、カットアンドペースト、その他などの無数のスケッチ能力を作成することができます。

すべてのWindows GDI関数は、返されたHDCを用いてimageに描画するのに用いられることができます。HDCは、DeleteLeadDCメソッドで開放されなければなりません。

リージョンが画像に対して定義されると、GDI関数はリージョン上でのみ動作します。画像全体では機能しません。

DIBドライバは、1、4、8、16と24のビットイメージだけをサポートします。他のピクセルあたりのビット数を持っているimageを使っているならば、DIBドライバによってサポートされるピクセル当たりビット値にimageを変更するためにLeadtools.ImageProcessing.ColorResolutionCommandを使わなければなりません。

詳細については、「RasterImageとGDI/GDI+」を参照してください。

詳細については、「LEADTOOLSによる画像処理入門」を参照してください。

サンプル

このサンプルは、ラスター画像の上で楕円を描画します。

Copy Code  
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Drawing
Imports Leadtools.ImageProcessing

<TestMethod()> _
Public Sub CreateLeadDCExample()
   Dim codecs As New RasterCodecs()
   Dim image As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"))
   Dim point1 As New LeadPoint(image.Width \ 8, image.Height \ 8)
   Dim point2 As New LeadPoint(image.Width \ 2, image.Height \ 2)

   ' Convert the coordinates if necessary.
   If image.ViewPerspective <> RasterViewPerspective.TopLeft Then
      point1 = image.PointToImage(RasterViewPerspective.TopLeft, point1)
      point2 = image.PointToImage(RasterViewPerspective.TopLeft, point2)
   End If

   ' Create the device context
   Dim hdc As IntPtr = RasterImagePainter.CreateLeadDC(image)
   Using g As Graphics = Graphics.FromHdc(hdc)
      g.DrawEllipse(New Pen(Color.White), point1.X, point1.Y, point2.X - point1.X, point2.Y - point1.Y)
   End Using
   RasterImagePainter.DeleteLeadDC(hdc)

   codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "Imahe1_CreateLeadDC.bmp"), RasterImageFormat.Bmp, 0)

   image.Dispose()
   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.Drawing;
using Leadtools.ImageProcessing;

[TestMethod]
public void CreateLeadDCExample()
{
   RasterCodecs codecs = new RasterCodecs();
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"));
   LeadPoint point1 = new LeadPoint(image.Width / 8, image.Height / 8);
   LeadPoint point2 = new LeadPoint(image.Width / 2, image.Height / 2);

   // Convert the coordinates if necessary.
   if(image.ViewPerspective != RasterViewPerspective.TopLeft)
   {
      point1 = image.PointToImage(RasterViewPerspective.TopLeft, point1);
      point2 = image.PointToImage(RasterViewPerspective.TopLeft, point2);
   }

   // Create the device context
   IntPtr hdc = RasterImagePainter.CreateLeadDC(image);
   using(Graphics g = Graphics.FromHdc(hdc))
   {
      g.DrawEllipse(new Pen(Color.White), point1.X, point1.Y, point2.X - point1.X, point2.Y - point1.Y);
   }
   RasterImagePainter.DeleteLeadDC(hdc);

   codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "Imahe1_CreateLeadDC.bmp"), RasterImageFormat.Bmp, 0);

   image.Dispose();
   codecs.Dispose();
}

static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
必要条件

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

参照

参照

RasterImagePainterクラス
RasterImagePainterメンバ