LEADTOOLS(Leadtoolsアセンブリ)

フレームを表示

AddColorToRegionメソッド








リージョンの用途に、カラーを指定します。
定義されている場合、既存の画像リージョンに関して実施するアクション。
指定されたカラーのすべてのピクセルから構成されるリージョンを追加することによりimageリージョンを作成するか、更新します。
構文
public void AddColorToRegion( 
   RasterColor color,
   RasterRegionCombineMode combineMode
)
'Declaration
 
Public Sub AddColorToRegion( _
   ByVal color As RasterColor, _
   ByVal combineMode As RasterRegionCombineMode _
) 
'Usage
 
Dim instance As RasterImage
Dim color As RasterColor
Dim combineMode As RasterRegionCombineMode
 
instance.AddColorToRegion(color, combineMode)
public void AddColorToRegion( 
   RasterColor color,
   RasterRegionCombineMode combineMode
)
- (BOOL)addColorToRegion:(LTRasterColor *)color 
             combineMode:(LTRasterRegionCombineMode)combineMode 
                   error:(NSError **)error
            
public void addColorToRegion(
  RasterColor color, 
  RasterRegionCombineMode combineMode
)
            
 function Leadtools.RasterImage.AddColorToRegion( 
   color ,
   combineMode 
)
public:
void AddColorToRegion( 
   RasterColor color,
   RasterRegionCombineMode combineMode
) 

パラメーター

カラー
リージョンの用途に、カラーを指定します。
combineMode
定義されている場合、既存の画像リージョンに関して実施するアクション。
解説

以下のように透明なカラーの使用をシミュレーションするために、このメソッドを使うことができます:

  1. カラーパラメーターの透明なカラーとcombineModeパラメーターのRasterRegionCombineMode.SetNotで、AddColorToRegionを呼び出します。
  2. 透明なカラー以外は結果として生じるリージョン(それはすべてをimageに含みます)を描画するために、PaintRegionを呼び出します。

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

AddColorToRegion関数は、拡張グレースケールマスクを使うことができます。詳細については、「グレースケールイメージ」を参照してください。

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

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

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

このメソッドは、符合付きものでなく、符号なしデータイメージをサポートします。

DocumentとMedicalツールキットにおいて、RasterImageが12または16ビットグレースケールビットマップであるならば、COLORREF値は16ビットグレースケール値を表すことができます。RGB値の混同を避けるために、COLORREF_GRAY16マスク(0x04000000)を設定します。本例(0x0400YYYY)では、COLORREF値の低い16ビット(0xYYYY)は、16ビットグレースケール値を表します。(0x0400FFFFは16ビット白です、そして、0x04000000は16ビット黒です。)これは、標準的なWindows値でありません。したがって、LEADTOOLSのメソッドは、この形式を持つCOLORREFを認識しますが、Windowsメソッドは認識しません。

サンプル

このサンプルはimageをロードして、指定されたカラーのリージョン全てのピクセルを追加します。それは、ディスクへそれを保存する前に、青でリージョンをその後塗りつぶします。

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 AddColorToRegionExample()
   Dim codecs As RasterCodecs = New RasterCodecs()
   Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")
   Dim destFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1_AddColorToRegion.bmp")

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

   ' Posterize the image to decrease the number of colors
   Dim posterize As PosterizeCommand = New PosterizeCommand(16)
   posterize.Run(image)

   ' Specify a pixel in the upper left of the displayed image
   Dim pt As LeadPoint = New LeadPoint(image.ImageWidth \ 8, image.ImageHeight \ 8)

   ' Adjust the point in case the view perspective is not TopLeft
   pt = image.PointToImage(RasterViewPerspective.TopLeft, pt)

   ' Get the color of the specified pixel
   Dim regionColor As RasterColor = image.GetPixelColor(pt.Y, pt.X)

   ' Create a region that includes all pixels of that color
   image.AddColorToRegion(regionColor, RasterRegionCombineMode.Set)

   ' Fill the region with blue
   Dim fill As FillCommand = New FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Blue))
   fill.Run(image)

   ' Save the image
   codecs.Save(image, destFileName, 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 AddColorToRegionExample()
{
   RasterCodecs codecs = new RasterCodecs();
   string srcFileName = Path.Combine(ImagesPath.Path, "Image1.cmp");
   string destFileName = Path.Combine(ImagesPath.Path, "Image1_AddColorToRegion.bmp");

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

   // Posterize the image to decrease the number of colors
   PosterizeCommand posterize = new PosterizeCommand(16);
   posterize.Run(image);

   // Specify a pixel in the upper left of the displayed image
   LeadPoint pt = new LeadPoint(image.ImageWidth / 8, image.ImageHeight / 8);

   // Adjust the point in case the view perspective is not TopLeft
   pt = image.PointToImage(RasterViewPerspective.TopLeft, pt);

   // Get the color of the specified pixel
   RasterColor regionColor = image.GetPixelColor(pt.Y, pt.X);

   // Create a region that includes all pixels of that color
   image.AddColorToRegion(regionColor, RasterRegionCombineMode.Set);

   // Fill the region with blue
   FillCommand fill = new FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Blue));
   fill.Run(image);

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

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

         var srcFileName = "Assets\\Image1.cmp";
         var destFileName = "Image1_AddColorToRegion.bmp";
         var image;
         // Load the image
         return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) {
            return codecs.loadAsync(LeadStreamFactory.create(loadFile))
         })
            .then(function (img) {
               image = img;
               // Posterize the image to decrease the number of colors
               var posterize = new Leadtools.ImageProcessing.Color.PosterizeCommand(16);
               posterize.run(image);

               // Specify a pixel in the upper left of the displayed image
               var pt = LeadPointHelper.create(image.imageWidth / 8, image.imageHeight / 8);

               // Adjust the point in case the view perspective is not TopLeft
               pt = image.pointToImage(RasterViewPerspective.topLeft, pt);

               // Get the color of the specified pixel
               var regionColor = image.getPixelColor(pt.Y, pt.X);

               // Create a region that includes all pixels of that color
               image.addColorToRegion(regionColor, RasterRegionCombineMode.set);

               // Fill the region with blue
               var fill = new Leadtools.ImageProcessing.FillCommand(RasterColorHelper.fromKnownColor(RasterKnownColor.blue));
               fill.run(image);

               // Save the image
               return Tools.AppLocalFolder().createFileAsync(destFileName)
            })
            .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 AddColorToRegionExample()
{
   RasterCodecs codecs = new RasterCodecs();
   string srcFileName = @"Assets\Image1.cmp";
   string destFileName = @"Image1_AddColorToRegion.bmp";

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

   // Posterize the image to decrease the number of colors
   PosterizeCommand posterize = new PosterizeCommand(16);
   posterize.Run(image);

   // Specify a pixel in the upper left of the displayed image
   LeadPoint pt = LeadPointHelper.Create(image.ImageWidth / 8, image.ImageHeight / 8);

   // Adjust the point in case the view perspective is not TopLeft
   pt = image.PointToImage(RasterViewPerspective.TopLeft, pt);

   // Get the color of the specified pixel
   RasterColor regionColor = image.GetPixelColor(pt.Y, pt.X);

   // Create a region that includes all pixels of that color
   image.AddColorToRegion(regionColor, RasterRegionCombineMode.Set);

   // Fill the region with blue
   FillCommand fill = new FillCommand(RasterColorHelper.FromKnownColor(RasterKnownColor.Blue));
   fill.Run(image);

   // Save the image
   StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName);
   ILeadStream 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 AddColorToRegionExample(RasterImage image, Stream destStream)
{
   // Posterize the image to decrease the number of colors
   PosterizeCommand posterize = new PosterizeCommand(16);
   posterize.Run(image);
   // Specify a pixel in the upper left of the displayed image
   LeadPoint pt = new LeadPoint(image.ImageWidth / 8, image.ImageHeight / 8);

   // Adjust the point in case the view perspective is not TopLeft
   pt = image.PointToImage(RasterViewPerspective.TopLeft, pt);

   // Get the color of the specified pixel
   RasterColor regionColor = image.GetPixelColor(pt.Y, pt.X);

   // Create a region that includes all pixels of that color
   image.AddColorToRegion(regionColor, RasterRegionCombineMode.Set);

   // Fill the region with blue
   FillCommand fill = new FillCommand(RasterColorConverter.FromColor(Colors.Blue));
   fill.Run(image);

   // Save the image
   RasterCodecs codecs = new RasterCodecs();
   codecs.Save(image, destStream, RasterImageFormat.Png, 24);

   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 AddColorToRegionExample(ByVal image As RasterImage, ByVal destStream As Stream)
   ' Posterize the image to decrease the number of colors
   Dim posterize As PosterizeCommand = New PosterizeCommand(16)
   posterize.Run(image)
   ' Specify a pixel in the upper left of the displayed image
   Dim pt As LeadPoint = New LeadPoint(image.ImageWidth / 8, image.ImageHeight / 8)

   ' Adjust the point in case the view perspective is not TopLeft
   pt = image.PointToImage(RasterViewPerspective.TopLeft, pt)

   ' Get the color of the specified pixel
   Dim regionColor As RasterColor = image.GetPixelColor(pt.Y, pt.X)

   ' Create a region that includes all pixels of that color
   image.AddColorToRegion(regionColor, RasterRegionCombineMode.Set)

   ' Fill the region with blue
   Dim fill As FillCommand = New FillCommand(RasterColorConverter.FromColor(Colors.Blue))
   fill.Run(image)

   ' Save the image
   Dim codecs As RasterCodecs = New RasterCodecs()
   codecs.Save(image, destStream, RasterImageFormat.Png, 24)

   image.Dispose()
End Sub
必要条件

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

参照

参照

RasterImageクラス
RasterImageメンバ
グレースケールイメージ
概要:1ピクセルあたりのビット数と関連知識
LEADTOOLSにおけるカラー値の使用