LEADTOOLS画像処理(Leadtools.ImageProcessing.Effectsアセンブリ)

フレームを表示

CombineCommandFlags列挙体








ソース画像の取り扱い、デスティネーション画像の取り扱い、データの結合時に使用する操作、および生成される画像の取り扱いを示す列挙値。フラグは、定義済みの長方形(必然的にでなく全部のimage)だけに、適用します。

この列挙体は、そのメンバ値のビットごとの組合せを許可するFlagsAttribute属性を持っています。

構文
'Declaration
 
<FlagsAttribute()>
Public Enum CombineCommandFlags 
   Inherits System.Enum
   Implements System.IComparable, System.IConvertible, System.IFormattable 
'Usage
 
Dim instance As CombineCommandFlags
typedef NS_OPTIONS(NSUInteger, LTCombineCommandFlags)
public enum CombineCommandFlags
Leadtools.ImageProcessing.Effects.CombineCommandFlags = function() { };
Leadtools.ImageProcessing.Effects.CombineCommandFlags.prototype = {<br/>
  ResultMaster = 0x00000000,
	SourceNop = 0x00000000,
	SourceMaster = 0x00000000,
	DestinationMaster = 0x00000000,
	DestinationNop = 0x00000000,
	OperationAnd = 0x00000000,
	ResultNop = 0x00000000,
	SourceNot = 0x00000001,
	Source0 = 0x00000002,
	Source1 = 0x00000003,
	DestinationNot = 0x00000010,
	Destination0 = 0x00000020,
	Destination1 = 0x00000030,
	OperationOr = 0x00000100,
	SourceCopy = 0x00000120,
	OperationXor = 0x00000200,
	OperationAdd = 0x00000300,
	OperationSubtractSource = 0x00000400,
	OperationSubtractDestination = 0x00000500,
	OperationMultiply = 0x00000600,
	OperationDivideSource = 0x00000700,
	OperationDivideDestination = 0x00000800,
	OperationAverage = 0x00000900,
	OperationMinimum = 0x00000A00,
	OperationMaximum = 0x00000B00,
	AbsoluteDifference = 0x00000C00,
	ResultNot = 0x00001000,
	Result0 = 0x00002000,
	Result1 = 0x00003000,
	SourceRed = 0x00010000,
	SourceGreen = 0x00020000,
	SourceBlue = 0x00030000,
	DestinationRed = 0x00100000,
	DestinationGreen = 0x00200000,
	DestinationBlue = 0x00300000,
	ResultRed = 0x01000000,
	ResultGreen = 0x02000000,
	ResultBlue = 0x03000000,
	RawCombine = 0x04000000,
	
 };
[FlagsAttribute()]
public enum class CombineCommandFlags : public System.Enum, System.IComparable, System.IConvertible, System.IFormattable  
メンバ
メンバ説明
0 x 00000000ResultMaster すべてのチャンネルで操作を実行します。

LEADTOOLSで広く使われている画像処理フィルタの速度を上げるために、カラー画像のグレースケール値(マスターチャネル)は、以下の手法を用いて計算されます:

             #define CalcGrayValue(r, g, b) ((L_UCHAR)(((L_UCHAR) (((2 * (L_UINT) (r)) + (5 * (L_UINT) (g)) + (L_UINT) (b) + 4) / 8))))
             #define CalcGrayValue16(r, g, b) ((L_UINT16) (((2 * (L_UINT32) (r)) + (5 * (L_UINT32) (g)) + (L_UINT32) (b) + 4) / 8))
             #define CalcGrayValue32(r, g, b) ((L_UINT32) (((2 * (L_UINT32) (r)) + (5 * (L_UINT32) (g)) + (L_UINT32) (b) + 4) / 8))
             
0 x 00000000SourceNop 変更はありません。
0 x 00000000SourceMaster すべてのチャンネルで操作を実行します。
0 x 00000000DestinationMaster すべてのチャンネルで操作を実行します。
0 x 00000000DestinationNop 変更はありません。
0 x 00000000OperationAnd ビットANDを用いてバイトの各々のセットを結合します。
0 x 00000000ResultNop 変更はありません。
0 x 00000001SourceNot 色を反転し、その結果、補完となります。
0 x 00000002Source0 0まですべてのビットを変更します。
0 x 00000003Source1 1にすべてのビットを変更します。
0 x 00000010DestinationNot 色を反転し、その結果、補完となります。
0 x 00000020Destination0 0まですべてのビットを変更します。
0 x 00000030Destination1 1にすべてのビットを変更します。
0 x 00000100OperationOr ビットごとのORを用いてバイトの各々のセットを結合します。
0 x 00000120SourceCopy ソースをデスティネーションへコピーします。
0 x 00000200OperationXor ビットごとの排他的OR(^)を用いて、バイトの各々のセットを結合します。
0 x 00000300OperationAdd 最高255を許可して、バイト値を追加します。
0 x 00000400OperationSubtractSource 最低0を許可して、デスティネーションからソースを減算します。
0 x 00000500OperationSubtractDestination 最低0を許可して、ソースからデスティネーションを減算します。
0 x 00000600OperationMultiply 最高255を許可して、バイト値を乗算します。結果は、以下のように計算されます:結果=(ソース*デスティネーション)/255。
0 x 00000700OperationDivideSource ソースによってデスティネーションを分けます。ソースならば > 0、そして結果は、以下のように計算されます:結果=分((デスティネーション/ソース)* 255、255)。そうでない場合、ソースが0なら結果は255になります。
0 x 00000800OperationDivideDestination デスティネーションによってソースを分けます。destならば > 0、そして結果は、以下のように計算されます:結果=分((ソース/デスティネーション)* 255、255)。そうでない場合、デスティネーションが0なら結果は255になります。
0 x 00000900OperationAverage 2つの値の平均を使います。
0 x 00000A00OperationMinimum 2つの値のうちの小さい方を使います。
0 x 00000B00OperationMaximum 2つの値でより大きなものを使います。
0 x 00000C00AbsoluteDifference 2つの値の間で絶対差を計算します。
0 x 00001000ResultNot 色を反転し、その結果、補完となります。
0 x 00002000Result0 0まですべてのビットを変更します。
0 x 00003000Result1 1にすべてのビットを変更します。
0 x 00010000SourceRed 赤いチャネルの上で操作を実行します。
0 x 00020000SourceGreen 緑チャネルの上で操作を実行します。
0 x 00030000SourceBlue 青チャネルの上で操作を実行します。
0 x 00100000DestinationRed 赤いチャネルの上で操作を実行します。
0 x 00200000DestinationGreen 緑チャネルの上で操作を実行します。
0 x 00300000DestinationBlue 青チャネルの上で操作を実行します。
0 x 01000000ResultRed 赤いチャネルの上で操作を実行します。
0 x 02000000ResultGreen 緑チャネルの上で操作を実行します。
0 x 03000000ResultBlue 青チャネルの上で操作を実行します。
0 x 04000000RawCombine 生のコンバインを実行します。
解説
各々のグループから1つのフラグを指定するために、ビットごとのOR(|)を使うことができます。
グループ Flags
ソース長方形の取り扱いを定義するFlags SourceNop、SourceNot、Source0、Source1
デスティネーション四角形の取り扱いを定義するFlags DestinationNop、DestinationNot、Destination0、Destination1
データを結合するとき、使う操作を定義するFlags OperationAnd、OperationOr、OperationXor、OperationAdd、OperationSubtractSource、OperationSubtractDestination、OperationMultiply、OperationDivideSource、OperationDivideDestination、OperationAverage、OperationMinimum、OperationMaximum、AbsoluteDifference
結果として生じるimage長方形の取り扱いを定義するFlags ResultNop、ResultNot、Result0、Result1
ソースimage長方形のチャネルを定義するFlags SourceMaster、SourceRed、SourceGreen、SourceBlue
デスティネーションimage長方形のチャネルを定義するFlags DestinationMaster、DestinationRed、DestinationGreen、DestinationBlue
結果として生じるimage長方形のチャネルを定義するFlags ResultMaster、ResultRed、ResultGreen、ResultBlue
フラグは、以下の命令で機能します:1番目に、ソースとデスティネーション長方形の操作は実施されます、そして、組み合わさっている操作は実装されます、そして、結果長方形の操作は実施されます。詳細については、「CombineCommandのためのFlags」を参照してください。
継承階層

System.Object
   System.ValueType
      System.Enum
         Leadtools.ImageProcessing.Effects.CombineCommandFlags

必要条件

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

参照

参照

Leadtools.ImageProcessing.Effects名前空間