マスク領域から画像オブジェクトへの複写(ビット指定)

Namespace: FVIL.Data
Assembly: FVILbasic (in FVILbasic.dll) Version: 3.1.0.0 (3.1.0.17)

Syntax

C#
public virtual void MaskCopyTo(
	CFviImage image,
	MaskBit maskbit
)
Visual Basic
Public Overridable Sub MaskCopyTo ( 
	image As CFviImage,
	maskbit As MaskBit
)

Parameters

image
Type: FVIL.Data..::..CFviImage
複写先画像
maskbit
Type: FVIL.Data.Pattern..::..MaskBit
マスクビット

Remarks

マスク領域のビット(マスク情報)の ON/OFF によって、 複写先の画像オブジェクトの画素値を 1/0 に設定します。 どのビット(マスク情報)を対象とするかは、引数 maskbit で指示します。

maskbit:
MASK0x01マスク部分
ESSENTIAL0x02不可欠部分

maskbitMASKESSENTIAL の論理和が指定された場合は、MASK (マスク部分)または ESSENTIAL (不可欠部分)の何れかが ON の場合に複写先の画素値に 1 を設定し、 何れも OFF の場合に複写先の画素値に 0 を設定します。

処理範囲を考慮しますので、予め Window プロパティにより処理範囲の設定を行ってください。
複写元に指定できる画像オブジェクトの条件は以下の通りです。

  • 複写先の処理範囲サイズと一致している事
    ※但し、複写先の処理範囲の縦と横のサイズがいずれも大きい場合は許容されます。
  • チャネル数が 1 である事
  • 画像種別が以下の何れかである事

処理に失敗した場合は例外を発行します。 例外の原因と発生位置を特定するには、発行された例外クラスの ErrorCode メンバと Function メンバを参照してください。

エラーコード:

ErrorCode メンバ内容
23FVIL.ErrorCode.NOT_ALLOCATEDマスク領域が確保されていません。
11FVIL.ErrorCode.INVALID_PARAMETER引数 imagenull が指定されました。
12FVIL.ErrorCode.INVALID_OBJECT引数に指定された画像オブジェクトの領域が確保されていません。
16FVIL.ErrorCode.INVALID_IMAGETYPE引数に指定された画像オブジェクトの画像種別が処理対象外です。
18FVIL.ErrorCode.NOMATCH_CHANNEL引数に指定された画像オブジェクトのチャネル数が処理対象外です。
19FVIL.ErrorCode.INVALID_PROCAREA処理範囲のサイズが一致していません。

Exceptions

ExceptionCondition
FVIL..::..CFviExceptionこの例外の原因については、上記のエラーコード表をご参照ください。

See Also