AND 演算 (REGION間)

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

Syntax

C#
public static void And(
	CFviRegion src1,
	CFviRegion src2,
	CFviRegion dst
)
Visual Basic
Public Shared Sub And ( 
	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

リージョン間の AND 演算を行います。
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>
        /// [リージョンオブジェクトの論理演算]
        /// AND 演算(リージョン間)
        /// </summary>
        [FvPluginExecute]
        public void And_RR()
        {
            try
            {
                // 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.And(regionSrc1, regionSrc2, regionDst);

                // E) 処理結果画像の保存.
                regionDst.Save(Defs.ResultDir + "/Region.Operation.And_RR.png");
            }
            catch (FVIL.CFviException ex)
            {
                Console.WriteLine(ex.Function + " : ErrorCode = " + ex.ErrorCode);
                throw ex;
            }
        }
    }
}


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>
        ''' [リージョンオブジェクトの論理演算]
        ''' AND 演算(リージョン間)
        ''' </summary>
        <FvPluginExecute> _
        Public Sub And_RR()
            Try
                ' 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.[And](regionSrc1, regionSrc2, regionDst)

                ' E) 処理結果画像の保存.
                regionDst.Save(Defs.ResultDir & "/Region.Operation.And_RR.png")
            Catch ex As FVIL.CFviException
                Console.WriteLine(ex.[Function] & " : ErrorCode = " & ex.ErrorCode)
                Throw ex
            End Try
        End Sub
    End Class
End Namespace
【関数の結果】

Exceptions

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

See Also