LEADTOOLS(Leadtoolsアセンブリ)

フレームを表示

RasterRegionクラス








メンバ 
RasterImageオブジェクト内の関心リージョンを説明します。
オブジェクトモデル
構文
public class RasterRegion : System.IDisposable  
'Declaration
 
Public Class RasterRegion 
   Implements System.IDisposable 
'Usage
 
Dim instance As RasterRegion
@interface LTRasterRegion : NSObject
public class RasterRegion
function Leadtools.RasterRegion()
public ref class RasterRegion : public System.IDisposable  
解説

RasterImageオブジェクトは、画像処理コマンドを使うとき、更新処理が利用できる部分を制限するのに用いられることができる関心部分値を格納します。リージョンは、RasterImage.AddRectangleToRegionRasterImage.AddEllipseToRegionなどの幾何学的形状を使用して、または、RasterImage.AddColorToRegionRasterImage.AddMaskToRegionなどのimageデータの属性で設定されることができます。

いかなる点でも、RasterImage.GetRegionメソッドを用いてRasterImageオブジェクトの中にリージョンのコピーを取得することができて、RasterImage.SetRegionメソッドを用いてimageの中にリージョンを更新することができます。

RasterRegionクラスは、GDI、GDI+、WPFとSilverlightなどのLEADTOOLSによってサポートされる任意のプラットホームで使われることができるimageで、関心部分のプラットホームから独立した表現を提供します。

装置依存のリージョンへ/からLEADTOOLS RasterRegionオブジェクトを変換するために、以下のヘルパークラスを使用することができます:

RasterRegionクラスはIDisposableなインターフェースを実装します、呼び出さなければならないように、それを使った後に作成する任意のリージョンオブジェクトの上で破棄します

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

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

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

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

      
Public Sub RasterRegionExample()
   Dim codecs As New RasterCodecs()
   Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")
   Dim destFileName1 As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1_WithRegion1.bmp")
   Dim destFileName2 As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1_WithRegion2.bmp")

   ' Load the source image
   Using image As RasterImage = codecs.Load(srcFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1)
      ' Create a new rectangular RasterRegion
      Using region As New RasterRegion(New LeadRect(20, 30, 100, 200))
         ' Show this region properties
         Console.WriteLine("IsEmpty: {0}\nBounds: {1}", region.IsEmpty, region.GetBounds())

         ' Set it into the image
         image.SetRegion(Nothing, region, RasterRegionCombineMode.Set)

         ' Fill the image with a color and save it to disk to show the region
         Dim cmd As New FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Yellow))
         cmd.Run(image)

         codecs.Save(image, destFileName1, RasterImageFormat.Bmp, 24)

         ' Clear this region
         region.MakeEmpty()

         ' Show its properties
         Console.WriteLine("IsEmpty: {0}\nBounds: {1}", region.IsEmpty, region.GetBounds())

         ' Set it into the image and fill again with red, notice
         ' that this will fill the whole image since
         ' the region is now empty
         image.SetRegion(Nothing, region, RasterRegionCombineMode.Set)

         cmd = New FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Red))
         cmd.Run(image)

         codecs.Save(image, destFileName2, RasterImageFormat.Bmp, 24)
      End Using
   End Using

   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;

      
public void RasterRegionExample()
{
   string srcFileName = Path.Combine(ImagesPath.Path, "Image1.cmp");
   string destFileName1 = Path.Combine(ImagesPath.Path, "Image1_WithRegion1.bmp");
   string destFileName2 = Path.Combine(ImagesPath.Path, "Image1_WithRegion2.bmp");
   using (RasterCodecs codecs = new RasterCodecs())
   {
      // Load the source image
      using (RasterImage image = codecs.Load(srcFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1))
      {
         // Create a new rectangular RasterRegion
         using (RasterRegion region = new RasterRegion(new LeadRect(20, 30, 100, 200)))
         {
            // Show this region properties
            Console.WriteLine("IsEmpty: {0}\nBounds: {1}", region.IsEmpty, region.GetBounds());

            // Set it into the image
            image.SetRegion(null, region, RasterRegionCombineMode.Set);

            // Fill the image with a color and save it to disk to show the region
            FillCommand cmd = new FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Yellow));
            cmd.Run(image);

            codecs.Save(image, destFileName1, RasterImageFormat.Bmp, 24);

            // Clear this region
            region.MakeEmpty();

            // Show its properties
            Console.WriteLine("IsEmpty: {0}\nBounds: {1}", region.IsEmpty, region.GetBounds());

            // Set it into the image and fill again with red, notice
            // that this will fill the whole image since
            // the region is now empty
            image.SetRegion(null, region, RasterRegionCombineMode.Set);

            cmd = new FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Red));
            cmd.Run(image);

            codecs.Save(image, destFileName2, RasterImageFormat.Bmp, 24);
         }
      }
   }
}
RasterRegionExamples.prototype.RasterRegionExample = function () {
    Tools.SetLicense();
    with (Leadtools) {
        with (Leadtools.Codecs) {
            var codecs = new RasterCodecs();

            var srcFileName = "Assets\\Image1.cmp";
            var destFileName1 = "Image1_WithRegion1.bmp";
            var destFileName2 = "Image1_WithRegion2.bmp";
            var image;
            var region;
            // Load the source image
            return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) {
                return codecs.loadAsync(LeadStreamFactory.create(loadFile), 0, CodecsLoadByteOrder.bgr, 1, 1)
            })
                .then(function (img) {
                    image = img;

                    // Create a new rectangular RasterRegion
                    region = new RasterRegion(LeadRectHelper.create(20, 30, 100, 200));

                    // Show this region properties
                    console.info("IsEmpty: " + region.isEmpty + "\nBounds: " + LeadRectHelper.getStringDescription(region.getBounds()));

                    // Set it into the image
                    image.setRegion(null, region, RasterRegionCombineMode.set);

                    // Fill the image with a color and save it to disk to show the region
                    var cmd = new Leadtools.ImageProcessing.FillCommand(RasterColorHelper.fromKnownColor(RasterKnownColor.yellow));
                    cmd.run(image);

                    return Tools.AppLocalFolder().createFileAsync(destFileName1)
                })
                    .then(function (saveFile) {
                        var saveStream = LeadStreamFactory.create(saveFile);
                        return codecs.saveAsync(image, saveStream, RasterImageFormat.bmp, 0)
                    })
                            .then(function () {

                                // Clear this region
                                region.makeEmpty();

                                // Show its properties
                                console.info("IsEmpty: " + region.IsEmpty + "\nBounds: ", LeadRectHelper.getStringDescription(region.getBounds()));

                                // Set it into the image and fill again with red, notice
                                // that this will fill the whole image since
                                // the region is now empty
                                image.setRegion(null, region, RasterRegionCombineMode.set);

                                cmd = new Leadtools.ImageProcessing.FillCommand(RasterColorHelper.fromKnownColor(RasterKnownColor.red));
                                cmd.run(image);

                                return Tools.AppLocalFolder().createFileAsync(destFileName2)
                            })
                            .then(function (saveFile) {
                                var saveStream = LeadStreamFactory.create(saveFile);
                                return codecs.saveAsync(image, saveStream, RasterImageFormat.bmp, 0)
                            })
                            .then(function () {
                                image.close();
                                region.close();
                                codecs.close();
                            });
        }
    }
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;

      
public async Task RasterRegionExample()
{
   RasterCodecs codecs = new RasterCodecs();
   string srcFileName = @"Assets\Image1.cmp";
   string destFileName1 = "Image1_WithRegion1.bmp";
   string destFileName2 = "Image1_WithRegion2.bmp";

   // Load the source image
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
   ;
   using (RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile), 0, CodecsLoadByteOrder.Bgr, 1, 1))
   {
      // Create a new rectangular RasterRegion
      using(RasterRegion region = new RasterRegion(LeadRectHelper.Create(20, 30, 100, 200)))
      {
         // Show this region properties
         Debug.WriteLine("IsEmpty: {0}\nBounds: {1}", region.IsEmpty, LeadRectHelper.GetStringDescription(region.GetBounds()));

         // Set it into the image
         image.SetRegion(null, region, RasterRegionCombineMode.Set);

         // Fill the image with a color and save it to disk to show the region
         FillCommand cmd = new FillCommand(RasterColorHelper.FromKnownColor(RasterKnownColor.Yellow));
         cmd.Run(image);

         StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName1);
         ILeadStream saveStream = LeadStreamFactory.Create(saveFile);
         await codecs.SaveAsync(image, saveStream, RasterImageFormat.Bmp, 0);

         // Clear this region
         region.MakeEmpty();

         // Show its properties
         Debug.WriteLine("IsEmpty: {0}\nBounds: {1}", region.IsEmpty, LeadRectHelper.GetStringDescription(region.GetBounds()));

         // Set it into the image and fill again with red, notice
         // that this will fill the whole image since
         // the region is now empty
         image.SetRegion(null, region, RasterRegionCombineMode.Set);

         cmd = new FillCommand(RasterColorHelper.FromKnownColor(RasterKnownColor.Red));
         cmd.Run(image);

         saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName2);
         saveStream = LeadStreamFactory.Create(saveFile);
         await codecs.SaveAsync(image, saveStream, RasterImageFormat.Bmp, 0);
      }
   }

   codecs.Dispose();
}
必要条件

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

参照

参照

RasterRegionメンバ
Leadtools名前空間