画像データのコピー

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

Syntax

C#
public virtual void Copy(
	CFviImage src,
	uint option
)
Visual Basic
Public Overridable Sub Copy ( 
	src As CFviImage,
	option As UInteger
)

Parameters

src
Type: FVIL.Data..::..CFviImage
コピー元
option
Type: System..::..UInt32
処理オプション (0,1)
以下の値で適用範囲を選択できます。
  • 0: 処理ウィンドウ で指定された範囲をコピーします。
  • 1: 画像全体をコピーします。

Remarks

引数の画像メモリから、このオブジェクトに画像データをコピーします。 コピー先の領域は、コピー元の領域と同じサイズであるか大きくなければなりません。 コピー先とコピー元の領域(アドレス)が重なっていた場合の処理結果は不定です。

コピー元とコピー先の画像種別の違いはキャストで処理します。
画像種別の違いは、以下のように処理されます。

  • 大きい型から小さい型へのコピーや、符号つきから符号なしへコピーを行うと溢れます。
  • 双方がカラーの場合は R,G,B のプレーンをコピーします。アルファは無視します。 また、ビット深度は無視し、各プレーンを 8 ビットで扱います。
  • コピー元が2値の場合は、0/1 をそのままコピーします。
  • コピー先が2値の場合は、コピー元が 0 の時 0、それ以外を 1 とします。
  • コピー元が RGB パッキングカラー でコピー先が濃淡の時(BIN,RGB 以外)は、濃淡化されます。
    濃淡化の係数は既定値(R=0.299,G=0.587,B=0.114)を使用します。

この処理は ビット深度 を考慮しません。 増色や減色を行う場合は、 CFviGrayScaleCFviTrueColorCFviTypeConvert を使用してください。

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

エラーコード:

ErrorCode メンバ内容
11FVIL.ErrorCode.INVALID_PARAMETER引数に指定された値が不正です。
23FVIL.ErrorCode.NOT_ALLOCATED画像メモリが確保されていません。
12FVIL.ErrorCode.INVALID_OBJECT画像オブジェクトが不正です。
96FVIL.ErrorCode.NOMATCH_IMAGESIZE画像サイズまたは処理範囲が一致していません。
99FVIL.ErrorCode.NOMATCH_CHANNELチャネルが一致していません。

Exceptions

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

See Also