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

フレームを表示

AddGdiPlusDataToRegionメソッド






ソースimage。
表示座標と画像座標の間で変換するために使用するLeadtools.RasterRegionXFormオブジェクト。このパラメーターにNull(Visual BasicではNothing)を指定すると、スカラーフィールドのデフォルトは1に、オフセットのデフォルトは0に、ビューの視点のデフォルトは画像ビューの視点になります。
addにリージョンを定義するSystem.Drawing.Drawing2D.RegionDataオブジェクト。
定義されている場合、既存の画像リージョンに関して実施するアクション。
指定されたGDI+リージョンデータを使用して、LEADTOOLS imageリージョンを作成するか、更新します。
構文
'Declaration
 
Public Shared Sub AddGdiPlusDataToRegion( _
   ByVal image As RasterImage, _
   ByVal xform As RasterRegionXForm, _
   ByVal data As RegionData, _
   ByVal combineMode As RasterRegionCombineMode _
) 
'Usage
 
Dim image As RasterImage
Dim xform As RasterRegionXForm
Dim data As RegionData
Dim combineMode As RasterRegionCombineMode
 
RasterRegionConverter.AddGdiPlusDataToRegion(image, xform, data, combineMode)

パラメーター

image
ソースimage。
xform
表示座標と画像座標の間で変換するために使用するLeadtools.RasterRegionXFormオブジェクト。このパラメーターにNull(Visual BasicではNothing)を指定すると、スカラーフィールドのデフォルトは1に、オフセットのデフォルトは0に、ビューの視点のデフォルトは画像ビューの視点になります。
データ
addにリージョンを定義するSystem.Drawing.Drawing2D.RegionDataオブジェクト。
combineMode
定義されている場合、既存の画像リージョンに関して実施するアクション。
解説

既存のリージョンを更新するために、新しいリージョンがどのようにcombineModeパラメーターを用いて既存のものと結合されることになっているかについて指定します。詳細については、「Leadtools.RasterRegionCombineMode。」を参照してください。

このメソッドは、GetGdiPlusRegionDataメソッドを用いて1つのRasterImageからもう一つへリージョンデータをコピーするのに用いられることができます。

ウィンドウズAPI HRGNデータとしてリージョンデータを取得するために、GetGdiRegionDataAddGdiDataToRegionを使います。

プラットホームから独立したbyte配列としてリージョンデータを取得するために、RasterRegion.GetDataRasterRegion.SetDataを使います。

詳細については、「リージョンの作成」を参照してください。

詳細については、「リージョンの保存」を参照してください。

詳細については、「既存のリージョンの操作」を参照してください。

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

サンプル

このサンプルは、Leadtools.RasterImageに楕円形のリージョンを追加するためにAddGdiPlusDataToRegionGetGdiPlusRegionDataを使って、GDI+ RegionDataオブジェクトとしてリージョンを取得して、そして、もう一つのimageでそれをリセットします。

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

<TestMethod()> _
Public Sub GdiPlusRegionDataExample()
   Dim codecs As New RasterCodecs()
   Dim srcFileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "Image1.cmp"
   Dim destFileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "Image1_GdiPlusData.bmp"

   Dim gdipRegionData As RegionData = Nothing

   ' Load the source image
   Using image As RasterImage = codecs.Load(srcFileName)
      ' Add a polygon region to it

      ' Add a polygon region to the image
      Dim x1 As Integer = image.ImageWidth \ 4
      Dim y1 As Integer = image.ImageHeight \ 4
      Dim x2 As Integer = image.ImageWidth \ 3
      Dim y2 As Integer = image.ImageHeight \ 3

      Dim pts() As LeadPoint = _
      { _
         New LeadPoint(x1, y1), _
         New LeadPoint(x2, y1), _
         New LeadPoint(x1, y2), _
         New LeadPoint(x2, y2) _
      }

      image.AddPolygonToRegion(Nothing, pts, LeadFillMode.Winding, RasterRegionCombineMode.Set)

      ' Save the region as a GDI+ RegionData object
      gdipRegionData = RasterRegionConverter.GetGdiPlusRegionData(image, Nothing)
   End Using

   ' Re-load the source image
   Using image As RasterImage = codecs.Load(srcFileName)
      ' Add the GDI+ region data we saved to it
      RasterRegionConverter.AddGdiPlusDataToRegion(image, Nothing, gdipRegionData, RasterRegionCombineMode.Set)

      ' Fill this region with Yellow
      Dim cmd As New FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Yellow))
      cmd.Run(image)

      ' Save this image
      codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24)
   End Using

   codecs.Dispose()
End Sub
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Drawing;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Color;

[TestMethod]
public void GdiPlusRegionDataExample()
{
   RasterCodecs codecs = new RasterCodecs();
   string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
   string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1_GdiPlusData.bmp");

   RegionData gdipRegionData = null;

   // Load the source image
   using(RasterImage image = codecs.Load(srcFileName))
   {
      // Add a polygon region to it

      // Add a polygon region to the image
      int x1 = image.ImageWidth / 4;
      int y1 = image.ImageHeight / 4;
      int x2 = image.ImageWidth / 3;
      int y2 = image.ImageHeight / 3;

      LeadPoint[] pts =
      {
         new LeadPoint(x1, y1),
         new LeadPoint(x2, y1),
         new LeadPoint(x1, y2),
         new LeadPoint(x2, y2)
      };

      image.AddPolygonToRegion(null, pts, LeadFillMode.Winding, RasterRegionCombineMode.Set);

      // Save the region as a GDI+ RegionData object
      gdipRegionData = RasterRegionConverter.GetGdiPlusRegionData(image, null);
   }

   // Re-load the source image
   using(RasterImage image = codecs.Load(srcFileName))
   {
      // Add the GDI+ region data we saved to it
      RasterRegionConverter.AddGdiPlusDataToRegion(image, null, gdipRegionData, RasterRegionCombineMode.Set);

      // Fill this region with Yellow
      FillCommand cmd = new FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Yellow));
      cmd.Run(image);

      // Save this image
      codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24);
   }

   codecs.Dispose();
}

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

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

参照

参照

RasterRegionConverterクラス
RasterRegionConverterメンバ