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

フレームを表示

AddRegionToRegion(RasterImage、RasterRegionXForm、リージョン、RasterRegionCombineMode)メソッド






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

パラメーター

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

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

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

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

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

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

サンプル
Copy Code  
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Drawing
Imports Leadtools.ImageProcessing
Imports Leadtools.ImageProcessing.Color

<TestMethod()> _
Public Sub AddRegionToRegionGdip_Example()
   Dim codecs As New RasterCodecs()
   Dim srcFileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "Image1.cmp"
   Dim destFileName1 As String = LeadtoolsExamples.Common.ImagesPath.Path + "Image1_ConvertToRegion.bmp"
   Dim destFileName2 As String = LeadtoolsExamples.Common.ImagesPath.Path + "Image1_AddRegionToRegion.bmp"

   ' Load the image
   Dim image As RasterImage = codecs.Load(srcFileName)

   ' Add an ellipse inside a rectangle region to the image

   Dim rc As New LeadRect(image.Width \ 3, image.Height \ 3, image.Width \ 3, image.Height \ 3)
   image.AddEllipseToRegion(Nothing, rc, RasterRegionCombineMode.Set)

   ' Create a GDI+ image from this raster image, then obtain a Graphics
   ' object to the GDI+ image, apply the region to it then fill it with red color
   Dim region As Region

   Using gdiPlusImage As Image = RasterImageConverter.ConvertToImage(image, ConvertToImageOptions.None)
      Using graphics As Graphics = graphics.FromImage(gdiPlusImage)
         Using rasterRegion As RasterRegion = image.GetRegion(Nothing)
            region = RasterRegionConverter.ConvertToRegion(rasterRegion, Nothing)
            graphics.Clip = region

            ' This call should only fill the ellipse
            graphics.FillRectangle(Brushes.Red, 0, 0, image.Width, image.Height)
         End Using
      End Using

      gdiPlusImage.Save(destFileName1, ImageFormat.Bmp)
   End Using

   ' Empty the region in the raster image and re-add it through the
   ' region object we got with AddRegionToRegion
   image.MakeRegionEmpty()

   RasterRegionConverter.AddRegionToRegion(image, Nothing, region, RasterRegionCombineMode.Set)
   Dim command As New FillCommand()
   command.Color = RasterColor.FromKnownColor(RasterKnownColor.Red)
   command.Run(image)
   codecs.Save(image, destFileName2, RasterImageFormat.Bmp, 24)

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

[TestMethod]
public void AddRegionToRegionGdip_Example()
{
   RasterCodecs codecs = new RasterCodecs();
   string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
   string destFileName1 = Path.Combine(LEAD_VARS.ImagesDir, "Image1_ConvertToRegion.bmp");
   string destFileName2 = Path.Combine(LEAD_VARS.ImagesDir, "Image1_AddRegionToRegion.bmp");

   // Load the image
   RasterImage image = codecs.Load(srcFileName);

   // Add an ellipse inside a rectangle region to the image

   LeadRect rc = new LeadRect(image.Width / 3, image.Height / 3, image.Width / 3, image.Height / 3);
   image.AddEllipseToRegion(null, rc, RasterRegionCombineMode.Set);

   // Create a GDI+ image from this raster image, then obtain a Graphics
   // object to the GDI+ image, apply the region to it then fill it with red color
   Region region;

   using(Image gdiPlusImage = RasterImageConverter.ConvertToImage(image, ConvertToImageOptions.None))
   {
      using(Graphics graphics = Graphics.FromImage(gdiPlusImage))
      {
         using(RasterRegion rasterRegion = image.GetRegion(null))
         {
            region = RasterRegionConverter.ConvertToRegion(rasterRegion, null);
            graphics.Clip = region;

            // This call should only fill the ellipse
            graphics.FillRectangle(Brushes.Red, 0, 0, image.Width, image.Height);
         }
      }

      gdiPlusImage.Save(destFileName1, ImageFormat.Bmp);
   }

   // Empty the region in the raster image and re-add it through the
   // region object we got with AddRegionToRegion
   image.MakeRegionEmpty();

   RasterRegionConverter.AddRegionToRegion(image, null, region, RasterRegionCombineMode.Set);
   FillCommand command = new FillCommand();
   command.Color = RasterColor.FromKnownColor(RasterKnownColor.Red);
   command.Run(image);
   codecs.Save(image, destFileName2, RasterImageFormat.Bmp, 24);

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

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

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

参照

参照

RasterRegionConverterクラス
RasterRegionConverterメンバ
オーバーロードリスト