LEADTOOLS(Leadtoolsアセンブリ)

フレームを表示

GetPixelColorメソッド








ピクセルの0から始まる行番号。
ピクセルの0から始まる桁番号。
指定されたピクセルのカラーを返します。
構文
public RasterColor GetPixelColor( 
   int row,
   int column
)
'Declaration
 
Public Function GetPixelColor( _
   ByVal row As Integer, _
   ByVal column As Integer _
) As RasterColor
'Usage
 
Dim instance As RasterImage
Dim row As Integer
Dim column As Integer
Dim value As RasterColor
 
value = instance.GetPixelColor(row, column)
public RasterColor GetPixelColor( 
   int row,
   int column
)
- (LTRasterColor *)getPixelColorAtRow:(NSInteger)row 
                               column:(NSInteger)column
            
public RasterColor getPixelColor(
  int row, 
  int column
)
            
 function Leadtools.RasterImage.GetPixelColor( 
   row ,
   column 
)
public:
RasterColor GetPixelColor( 
   int row,
   int column
) 

パラメーター

ピクセルの0から始まる行番号。
ピクセルの0から始まる桁番号。

戻り値

このメソッドは、imageパレット、グレースケール値(Medical Imaging)または赤・緑・青色値にインデックスを表すことができるだけであるRasterColor値を返します。
解説

RasterColorのための標準的なWindows値は、どちらの赤・緑・青色値でもまたはimageパレットへのインデックスを表します。0x00BBGGRRのRGB値によるRasterColor値は指定されたピクセルのために青で、緑で、赤い色値を表します、0xBBが青値である所で、0xGGは緑値です、そして、0xRRは赤い値です。0x01000000がRasterColor(0x010000ZZ)のRGB値で設定されるならば、下の8ビット(0xZZ)は色値を保持するimageパレットにインデックスを表します。

戻り値をもう一つのピクセルに割り当てるために、SetPixelColorメソッドを使うことができます。

このメソッドは、ピクセルを指定するために、image座標を使います。したがって、imageのビューの視点と方向を占めなければなりません。

imageの外側に、または、リージョン(imageが1を持っているならば)の外側にあるピクセルを指定するならば、このメソッドは例外をスローします。

このメソッドは32のためにアルファ値をサポートしません、そして、64ビットカラーイメージと返されたカラーのアルファ値が使われるべきでありません。代わりに、GetPixelSetPixelメソッドを使います。

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

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

詳細については、「LEADTOOLSによる画像処理入門」を参照してください。

詳細については、「ビューの視点と方向について」を参照してください。

サンプル

このサンプルは、示されたimageの上の左辺で行でピクセルの色を反転するために、GetPixelColorとSetPixelColorを使います。

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 GetPixelColorExample()
   Dim codecs As RasterCodecs = New RasterCodecs()
   ' Load the image
   Dim image As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1.CMP"))
   ' Specify a line of pixels.
   Dim Offset As LeadPoint = New LeadPoint(image.Width \ 8, image.Height \ 8)
   Dim XSize As Integer = image.Width \ 3

   ' Invert the colors of pixels in the line.
   Dim i As Integer = 0
   Do While i < XSize
      Dim OldOffset As LeadPoint = New LeadPoint(Offset.X, Offset.Y)
      ' Adjust the XOffset and YOffset  in case the view perspective is not TopLeft.
      Offset = image.PointToImage(RasterViewPerspective.TopLeft, Offset)
      Dim PixelColor As RasterColor = image.GetPixelColor(Offset.Y, Offset.X)
      PixelColor.R = CByte(255 - PixelColor.R)
      PixelColor.G = CByte(255 - PixelColor.G)
      PixelColor.B = CByte(255 - PixelColor.B)
      image.SetPixelColor(Offset.Y, Offset.X, PixelColor)

      Offset = OldOffset ' Restore Offset
      Offset.X = Offset.X + 1
      i += 1
   Loop

   codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1_GetPixelColor.BMP"), RasterImageFormat.Bmp, 0)

   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 GetPixelColorExample()
{
   RasterCodecs codecs = new RasterCodecs();
   // Load the image
   RasterImage image = codecs.Load(Path.Combine(ImagesPath.Path, "IMAGE1.CMP"));
   // Specify a line of pixels.
   LeadPoint offset = new LeadPoint(image.Width / 8, image.Height / 8);
   int XSize = image.Width / 3;

   // Invert the colors of pixels in the line.
   for(int i = 0; i < XSize; i++)
   {
      LeadPoint oldOffset = new LeadPoint(offset.X, offset.Y);
      // Adjust the XOffset and YOffset  in case the view perspective is not TopLeft.
      offset = image.PointToImage(Leadtools.RasterViewPerspective.TopLeft, offset);
      RasterColor pixelColor = image.GetPixelColor(offset.Y, offset.X);
      pixelColor.R = (byte)(255 - pixelColor.R);
      pixelColor.G = (byte)(255 - pixelColor.G);
      pixelColor.B = (byte)(255 - pixelColor.B);
      image.SetPixelColor(offset.Y, offset.X, pixelColor);

      offset = oldOffset; // Restore Offset
      offset.X = offset.X + 1;
   }

   codecs.Save(image, Path.Combine(ImagesPath.Path, "IMAGE1_GetPixelColor.BMP"), RasterImageFormat.Bmp, 0);

   image.Dispose();
   codecs.Dispose();
}
RasterImageExamples.prototype.GetPixelColorExample = function ( )
{
   Tools.SetLicense ( ) ;

   with (Leadtools) {
      with (Leadtools.Codecs) {

         var codecs = new RasterCodecs();

         // Load the image

         var srcFileName = "Assets\\Image1.cmp";
         var image;
         return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) {
            return codecs.loadAsync(LeadStreamFactory.create(loadFile))
         })
            .then(function (img) {
               image = img;

               // Specify a line of pixels.
               var offset = LeadPointHelper.create(image.width / 8, image.height / 8);
               var XSize = image.width / 3;

               // Invert the colors of pixels in the line.
               for (var i = 0; i < XSize; i++) {
                  var oldOffset = LeadPointHelper.create(offset.X, offset.Y);
                  // Adjust the XOffset and YOffset  in case the view perspective is not TopLeft.
                  offset = image.pointToImage(Leadtools.RasterViewPerspective.topLeft, offset);
                  var pixelColor = image.getPixelColor(offset.y, offset.x);
                  pixelColor.r = Math.max ( 255, Math.min ( 0, (255 - pixelColor.r) ) );
                  pixelColor.g = Math.max ( 255, Math.min ( 0, (255 - pixelColor.g) ) ) ;
                  pixelColor.b = Math.max ( 255, Math.min ( 0, (255 - pixelColor.b) ) );
                  image.setPixelColor(offset.y, offset.x, pixelColor);

                  offset = oldOffset; // Restore Offset
                  offset.x = offset.x + 1;
               }

               return Tools.AppLocalFolder().createFileAsync("IMAGE1_GetPixelColor.BMP")
            })
            .then(function (saveFile) {
               var saveStream = LeadStreamFactory.create(saveFile);
               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 GetPixelColorExample()
{
   RasterCodecs codecs = new RasterCodecs();
   // Load the image
   string srcFileName = @"Assets\Image1.cmp";
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
   RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));
   // Specify a line of pixels.
   LeadPoint offset = LeadPointHelper.Create(image.Width / 8, image.Height / 8);
   int XSize = image.Width / 3;

   // Invert the colors of pixels in the line.
   for (int i = 0; i < XSize; i++)
   {
      LeadPoint oldOffset = LeadPointHelper.Create(offset.X, offset.Y);
      // Adjust the XOffset and YOffset  in case the view perspective is not TopLeft.
      offset = image.PointToImage(Leadtools.RasterViewPerspective.TopLeft, offset);
      RasterColor pixelColor = image.GetPixelColor(offset.Y, offset.X);
      pixelColor.R = (byte)(255 - pixelColor.R);
      pixelColor.G = (byte)(255 - pixelColor.G);
      pixelColor.B = (byte)(255 - pixelColor.B);
      image.SetPixelColor(offset.Y, offset.X, pixelColor);

      offset = oldOffset; // Restore Offset
      offset.X = offset.X + 1;
   }

   StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync("IMAGE1_GetPixelColor.BMP");
   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 GetPixelColorExample(RasterImage image, Stream destStream)
{
   // Specify a line of pixels.
   LeadPoint Offset = new LeadPoint(image.Width / 8, image.Height / 8);
   int XSize = image.Width / 3;
   // Invert the colors of pixels in the line.
   for (int i = 0; i < XSize; i++)
   {
      LeadPoint OldOffset = new LeadPoint(Offset.X, Offset.Y);
      // Adjust the XOffset and YOffset  in case the view perspective is not TopLeft.
      Offset = image.PointToImage(Leadtools.RasterViewPerspective.TopLeft, Offset);
      RasterColor PixelColor = image.GetPixelColor(Offset.Y, Offset.X);
      PixelColor.R = (byte)(255 - PixelColor.R);
      PixelColor.G = (byte)(255 - PixelColor.G);
      PixelColor.B = (byte)(255 - PixelColor.B);
      image.SetPixelColor(Offset.Y, Offset.X, PixelColor);

      Offset = OldOffset; // Restore Offset
      Offset.X = Offset.X + 1;
   }

   RasterCodecs codecs = new RasterCodecs();
   codecs.Save(image, destStream, 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 GetPixelColorExample(ByVal image As RasterImage, ByVal destStream As Stream)
   ' Specify a line of pixels.
   Dim Offset As LeadPoint = New LeadPoint(image.Width / 8, image.Height / 8)
   Dim XSize As Integer = image.Width / 3
   ' Invert the colors of pixels in the line.
   Dim i As Integer = 0
   Do While i < XSize
      Dim OldOffset As LeadPoint = New LeadPoint(Offset.X, Offset.Y)
      ' Adjust the XOffset and YOffset  in case the view perspective is not TopLeft.
      Offset = image.PointToImage(RasterViewPerspective.TopLeft, Offset)
      Dim PixelColor As RasterColor = image.GetPixelColor(Offset.Y, Offset.X)
      PixelColor.R = CByte(255 - PixelColor.R)
      PixelColor.G = CByte(255 - PixelColor.G)
      PixelColor.B = CByte(255 - PixelColor.B)
      image.SetPixelColor(Offset.Y, Offset.X, PixelColor)

      Offset = OldOffset ' Restore Offset
      Offset.X = Offset.X + 1
      i += 1
   Loop

   Dim codecs As RasterCodecs = New RasterCodecs()
   codecs.Save(image, destStream, RasterImageFormat.Bmp, 0)

   image.Dispose()
End Sub
必要条件

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

参照

参照

RasterImageクラス
RasterImageメンバ
GetPixelメソッド
SetPixelメソッド