LEADTOOLS(Leadtoolsアセンブリ)

フレームを表示

HasRegionプロパティ








このRasterImageがリージョンを持っているかどうか決定します。
構文
public bool HasRegion {get;}
'Declaration
 
Public ReadOnly Property HasRegion As Boolean
'Usage
 
Dim instance As RasterImage
Dim value As Boolean
 
value = instance.HasRegion
public bool HasRegion {get;}
@property (nonatomic, assign, readonly) BOOL hasRegion
public boolean hasRegion()
 get_HasRegion(); 
public:
property bool HasRegion {
   bool get();
}

属性値

このRasterImageがリージョンを持っているならば、true;それ以外の場合はFalseです。
解説

imageがリージョンを持っているとき、ピクセル値(たとえばPosterizeCommand)を修正するLEADTOOLSメソッドはリージョン(全部のimageよりもむしろ)に作用します。また、imageも上下に反転するか、翻すか、回転させるか、傾斜させるか、大きさを変更するLEADTOOLSメソッドは、imageと一致するために、リージョンを変形します。たとえば、長方形のリージョンを持っていたimageを傾斜させることであるならば、リージョンは平行四辺形になるでしょう。

imageリージョンを削除するために、MakeRegionEmptyを使います。

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

サンプル
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 RegionExample()
   Dim codecs As RasterCodecs = New RasterCodecs()
   Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")
   Dim destFileName1 As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1_InvertRegion.bmp")
   Dim destFileName2 As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1_InvertNoRegion.bmp")

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

   ' The image should have no region
   Console.WriteLine("After loading, HasRegion = {0}", image.HasRegion)
   Debug.Assert((Not image.HasRegion))

   ' Add a region to the image
   Dim rc As LeadRect = New LeadRect(0, 0, image.Width \ 4, image.Height \ 4)
   image.AddEllipseToRegion(Nothing, rc, RasterRegionCombineMode.Set)

   ' The image should have a region now
   Console.WriteLine("After AddEllipseToRegion, HasRegion = {0}", image.HasRegion)
   Debug.Assert(image.HasRegion)

   ' Invert this image and save it to a file
   Dim command As InvertCommand = New InvertCommand()
   command.Run(image)
   codecs.Save(image, destFileName1, RasterImageFormat.Bmp, 24)

   ' Get rid of the region
   image.MakeRegionEmpty()

   ' The image should not have a region now
   Console.WriteLine("After MakeRegionEmpty, HasRegion = {0}", image.HasRegion)
   Debug.Assert((Not image.HasRegion))

   ' Invert again and save it
   command.Run(image)
   codecs.Save(image, destFileName2, RasterImageFormat.Bmp, 24)

   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.ImageProcessing;
using Leadtools.ImageProcessing.Core;
using Leadtools.ImageProcessing.Color;
using Leadtools.Dicom;
using Leadtools.Drawing;
using Leadtools.Controls;
using Leadtools.Svg;

      
public void RegionExample()
{
   RasterCodecs codecs = new RasterCodecs();
   string srcFileName = Path.Combine(ImagesPath.Path, "Image1.cmp");
   string destFileName1 = Path.Combine(ImagesPath.Path, "Image1_InvertRegion.bmp");
   string destFileName2 = Path.Combine(ImagesPath.Path, "Image1_InvertNoRegion.bmp");

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

   // The image should have no region
   Console.WriteLine("After loading, HasRegion = {0}", image.HasRegion);
   Assert.IsTrue(!image.HasRegion);

   // Add a region to the image
   LeadRect rc = new LeadRect(0, 0, image.Width / 4, image.Height / 4);
   image.AddEllipseToRegion(null, rc, RasterRegionCombineMode.Set);

   // The image should have a region now
   Console.WriteLine("After AddEllipseToRegion, HasRegion = {0}", image.HasRegion);
   Assert.IsTrue(image.HasRegion);

   // Invert this image and save it to a file
   InvertCommand command = new InvertCommand();
   command.Run(image);
   codecs.Save(image, destFileName1, RasterImageFormat.Bmp, 24);

   // Get rid of the region
   image.MakeRegionEmpty();

   // The image should not have a region now
   Console.WriteLine("After MakeRegionEmpty, HasRegion = {0}", image.HasRegion);
   Assert.IsTrue(!image.HasRegion);

   // Invert again and save it
   command.Run(image);
   codecs.Save(image, destFileName2, RasterImageFormat.Bmp, 24);

   image.Dispose();
   codecs.Dispose();
}
RasterImageExamples.prototype.RegionExample = function ( ) 
{
   Tools.SetLicense ( ) ;
   with ( Leadtools)
   {
      with ( Leadtools.Codecs ){
         var codecs = new RasterCodecs();

         var srcFileName = "Assets\\Image1.cmp";
         var destFileName1 = "Image1_InvertRegion.bmp";
         var destFileName2 = "Image1_InvertNoRegion.bmp";
         var image = null ;
         // Load the image
         return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) {
            return codecs.loadAsync(LeadStreamFactory.create(loadFile));
         })
         .then(function (img) {
            image = img;
            // The image should have no region
            console.info("After loading, HasRegion = ", image.hasRegion);
            console.assert(!image.HasRegion);

            // Add a region to the image
            var rc = LeadRectHelper.create(0, 0, image.width / 4, image.height / 4);
            image.addEllipseToRegion(null, rc, RasterRegionCombineMode.set);

            // The image should have a region now
            console.info("After AddEllipseToRegion, HasRegion = ", image.hasRegion);
            console.assert(image.hasRegion);

            // Invert this image and save it to a file
            var command = new Leadtools.ImageProcessing.Color.InvertCommand();
            command.run(image);
            return Tools.AppLocalFolder().createFileAsync(destFileName1);
         })
         .then(function (saveFile) {
            var saveStream = LeadStreamFactory.create(saveFile);
            return codecs.saveAsync(image, saveStream, RasterImageFormat.bmp, 24);
         })
         .then(function () {

            // Get rid of the region
            image.makeRegionEmpty();

            // The image should not have a region now
            console.info("After MakeRegionEmpty, HasRegion = ", image.hasRegion);
            console.assert(!image.hasRegion);

            // Invert again and save it
            var command = new Leadtools.ImageProcessing.Color.InvertCommand();
            command.run(image);
            return Tools.AppLocalFolder().createFileAsync(destFileName2);
         })
         .then(function (saveFile) {
            var saveStream = LeadStreamFactory.create(saveFile);
            return codecs.saveAsync(image, saveStream, RasterImageFormat.bmp, 24);
         })
         .then(function () {

            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 RegionExample()
{
   RasterCodecs codecs = new RasterCodecs();
   string srcFileName = @"Assets\Image1.cmp";
   string destFileName1 = @"Image1_InvertRegion.bmp";
   string destFileName2 = @"Image1_InvertNoRegion.bmp";

   // Load the image
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
   RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));

   // The image should have no region
   Debug.WriteLine("After loading, HasRegion = {0}", image.HasRegion);
   Assert.IsTrue(!image.HasRegion);

   // Add a region to the image
   LeadRect rc = LeadRectHelper.Create(0, 0, image.Width / 4, image.Height / 4);
   image.AddEllipseToRegion(null, rc, RasterRegionCombineMode.Set);

   // The image should have a region now
   Debug.WriteLine("After AddEllipseToRegion, HasRegion = {0}", image.HasRegion);
   Assert.IsTrue(image.HasRegion);

   // Invert this image and save it to a file
   InvertCommand command = new InvertCommand();
   command.Run(image);
   StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName1);
   ILeadStream saveStream = LeadStreamFactory.Create(saveFile);
   await codecs.SaveAsync(image, saveStream, RasterImageFormat.Bmp, 24);

   // Get rid of the region
   image.MakeRegionEmpty();

   // The image should not have a region now
   Debug.WriteLine("After MakeRegionEmpty, HasRegion = {0}", image.HasRegion);
   Assert.IsTrue(!image.HasRegion);

   // Invert again and save it
   command.Run(image);
   saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName2);
   saveStream = LeadStreamFactory.Create(saveFile);
   await codecs.SaveAsync(image, saveStream, RasterImageFormat.Bmp, 24);

   image.Dispose();
   codecs.Dispose();
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Dicom;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Core;
using Leadtools.ImageProcessing.Color;
using Leadtools.Examples;
using Leadtools.Windows.Media;

public void RegionExample(RasterImage image, Stream destStream1, Stream destStream2)
{
   RasterCodecs codecs = new RasterCodecs();
   // The image should have no region
   Debug.WriteLine("After loading, HasRegion = {0}", image.HasRegion);
   Debug.Assert(!image.HasRegion);

   // Add a region to the image
   LeadRect rc = new LeadRect(0, 0, image.Width / 4, image.Height / 4);
   image.AddRectangleToRegion(null, rc, RasterRegionCombineMode.Set);

   // The image should have a region now
   Debug.WriteLine("After AddRectangleToRegion, HasRegion = {0}", image.HasRegion);
   Debug.Assert(image.HasRegion);

   // Invert this image and save it to a file
   InvertCommand command = new InvertCommand();
   command.Run(image);
   codecs.Save(image, destStream1, RasterImageFormat.Bmp, 0);

   // Get rid of the region
   image.MakeRegionEmpty();

   // The image should not have a region now
   Debug.WriteLine("After MakeRegionEmpty, HasRegion = {0}", image.HasRegion);
   Debug.Assert(!image.HasRegion);

   // Invert again and save it
   command.Run(image);
   codecs.Save(image, destStream2, RasterImageFormat.Bmp, 0);

   image.Dispose();
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Dicom
Imports Leadtools.ImageProcessing
Imports Leadtools.ImageProcessing.Core
Imports Leadtools.ImageProcessing.Color
Imports Leadtools.Windows.Media

Public Sub RegionExample(ByVal image As RasterImage, ByVal destStream1 As Stream, ByVal destStream2 As Stream)
   Dim codecs As RasterCodecs = New RasterCodecs()
   ' The image should have no region
   Debug.WriteLine("After loading, HasRegion = {0}", image.HasRegion)
   Debug.Assert((Not image.HasRegion))

   ' Add a region to the image
   Dim rc As LeadRect = New LeadRect(0, 0, image.Width / 4, image.Height / 4)
   image.AddRectangleToRegion(Nothing, rc, RasterRegionCombineMode.Set)

   ' The image should have a region now
   Debug.WriteLine("After AddRectangleToRegion, HasRegion = {0}", image.HasRegion)
   Debug.Assert(image.HasRegion)

   ' Invert this image and save it to a file
   Dim command As InvertCommand = New InvertCommand()
   command.Run(image)
   codecs.Save(image, destStream1, RasterImageFormat.Bmp, 0)

   ' Get rid of the region
   image.MakeRegionEmpty()

   ' The image should not have a region now
   Debug.WriteLine("After MakeRegionEmpty, HasRegion = {0}", image.HasRegion)
   Debug.Assert((Not image.HasRegion))

   ' Invert again and save it
   command.Run(image)
   codecs.Save(image, destStream2, RasterImageFormat.Bmp, 0)

   image.Dispose()
End Sub
必要条件

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

参照

参照

RasterImageクラス
RasterImageメンバ