XOR 演算 (REGION間)

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

Syntax

C#
public static void Xor(
	CFviRegion src1,
	CFviRegion src2,
	CFviRegion dst
)
Visual Basic
Public Shared Sub Xor ( 
	src1 As CFviRegion,
	src2 As CFviRegion,
	dst As CFviRegion
)

Parameters

src1
Type: FVIL.Data..::..CFviRegion
左辺値
src2
Type: FVIL.Data..::..CFviRegion
右辺値
dst
Type: FVIL.Data..::..CFviRegion
処理結果を格納するリージョンオブジェクト

Remarks

リージョン間の XOR 演算を行います。
src1src2 に同じリージョンオブジェクトを指定しても構いません。

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

エラーコード:

ErrorCode メンバ内容
51FVIL.ErrorCode.LICENSE_ERROR ライセンスキーが見つからない為、実行できません。 または、 FVIL._SetUp.InitVisionLibrary が実行されていません。
1FVIL.ErrorCode.FAILED_TO_ALLOCATEメモリ不足の為、処理に失敗しました。
11FVIL.ErrorCode.INVALID_PARAMETERリージョンまたはパラメータが無効です。
12FVIL.ErrorCode.INVALID_OBJECTリージョンオブジェクトハンドルが無効です。

Examples

以下のようなリージョンを使用した処理を示します。

・リージョン1


・リージョン2


ソースコード:
C# Copy imageCopy
//    $Revision: 1.3 $

using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using fvalgcli;    // FvPluginXXXX attribute requires fvalgcli

namespace User.SampleCode.Region
{
    public partial class Operation
    {
        /// <summary>
        /// [リージョンオブジェクトの論理演算]
        /// XOR 演算 (リージョン間)
        /// </summary>
        [FvPluginExecute]
        public void Xor()
        {
            // 1) インスタンスの準備.
            FVIL.Data.CFviRegion regionSrc1 = new FVIL.Data.CFviRegion();
            FVIL.Data.CFviRegion regionSrc2 = new FVIL.Data.CFviRegion();
            FVIL.Data.CFviRegion regionDst = new FVIL.Data.CFviRegion();

            // 2) 処理対象リージョンの取り込み.
            regionSrc1.Load(Defs.TestImageDir + "/palette_UC8_region_R.raw");
            regionSrc2.Load(Defs.TestImageDir + "/palette_UC8_region_G.raw");

            // 3) 画像処理実行.
            FVIL.Region.Operation.Xor(regionSrc1, regionSrc2, regionDst);

            // E) 処理結果画像の保存.
            regionDst.Save(Defs.ResultDir + "/Region.Operation.Xor.png");
        }
    }
}


Visual Basic Copy imageCopy
'    $Revision: 1.1 $

Imports System.Collections.Generic
Imports System.Text
Imports System.Drawing
Imports fvalgcli
' FvPluginXXXX attribute requires fvalgcli
Namespace SampleCode.Region
    Public Partial Class Operation
        ''' <summary>
        ''' [リージョンオブジェクトの論理演算]
        ''' XOR 演算 (リージョン間)
        ''' </summary>
        <FvPluginExecute> _
        Public Sub [Xor]()
            ' 1) インスタンスの準備.
            Dim regionSrc1 As New FVIL.Data.CFviRegion()
            Dim regionSrc2 As New FVIL.Data.CFviRegion()
            Dim regionDst As New FVIL.Data.CFviRegion()

            ' 2) 処理対象リージョンの取り込み.
            regionSrc1.Load(Defs.TestImageDir & "/palette_UC8_region_R.raw")
            regionSrc2.Load(Defs.TestImageDir & "/palette_UC8_region_G.raw")

            ' 3) 画像処理実行.
            FVIL.Region.Operation.[Xor](regionSrc1, regionSrc2, regionDst)

            ' E) 処理結果画像の保存.
            regionDst.Save(Defs.ResultDir & "/Region.Operation.Xor.png")
        End Sub
    End Class
End Namespace
【関数の結果】

Exceptions

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

See Also