MakePattern メソッドのリビジョンの設定
Namespace: FVIL.DataAssembly: FVILbasic (in FVILbasic.dll) Version: 3.1.0.0 (3.1.0.17)
Syntax
C# |
---|
public static void MakePatternRevision( int value ) |
Visual Basic |
---|
Public Shared Sub MakePatternRevision ( value As Integer ) |
Parameters
- value
- Type: System..::..Int32
リビジョン番号 [初期値:0、範囲:0=端数を残す。, 1=端数を四捨五入する。]
Remarks
この関数は MakePattern メソッドの引数 rect (登録位置の矩形)の処理方法を切り替える為のものです。 リビジョン 0 は従来の処理を意味します。 従来の処理では、 MakePattern メソッドの引数 rect (登録位置の矩形) に指定された座標が1画素単位でない(端数がある)場合にサーチ機能の回答座標との矛盾が生じます。 通常は端数がない座標値を指定することを推奨します。 端数が発生する場合は、この関数でリビジョンを 1 に設定してご使用ください。
設定変更はアプリケーション起動時に1度行うだけで構いません。
尚、この設定値はライブラリ内で共有していますので、インスタンス毎に設定することはできません。
設定に失敗した場合は例外を発行します。 例外の原因と発生位置を特定するには、発行された例外クラスの ErrorCode メンバと Function メンバを参照してください。
エラーコード:
値 | ErrorCode メンバ | 内容 |
---|---|---|
11 | FVIL.ErrorCode.INVALID_PARAMETER | 引数に指定された値が不正です。 |
Examples
具体的な使用方法については下記コードを参考にしてください。
本例ではパタン登録の直前に本関数を呼び出していますが、必ずしも直前である必要はなく、
前述の通り、アプリケーション起動時に1度行うだけで構いません。
C# | Copy |
---|---|
using System; using System.Collections.Generic; using System.Text; using System.Drawing; using fvalgcli; // FvPluginXXXX attribute requires fvalgcli namespace User.SampleCode { public partial class Basic { [FvPluginExecute] public void MakePatternRevision() { System.Reflection.MethodBase method = System.Reflection.MethodBase.GetCurrentMethod(); Console.WriteLine("{0}.{1}", method.DeclaringType.FullName, method.Name); // 既定値: MakePatternRevisionDemo(); // リビジョン 1 に設定した場合: FVIL.Data.CFviPattern.MakePatternRevision(1); MakePatternRevisionDemo(); // リビジョン 0 に設定した場合: FVIL.Data.CFviPattern.MakePatternRevision(0); MakePatternRevisionDemo(); } public void MakePatternRevisionDemo() { Console.WriteLine("MakePatternRevision={0}", FVIL.Data.CFviPattern.MakePatternRevision()); FVIL.Data.CFviImage src = new FVIL.Data.CFviImage(); FVIL.File.Function.LoadImageFile(Defs.TestImageDir + "/clip_UC8_M.png", src, FVIL.PixelMode.Unpacking); FVIL.Data.CFviPattern pattern = new FVIL.Data.CFviPattern(); FVIL.Data.CFviRectangle rect = new FVIL.Data.CFviRectangle(134.4, 74.5, 181.1, 169.8); FVIL.Data.CFviPoint mark = new FVIL.Data.CFviPoint(167.6, 139.5); pattern.MakePattern( src, rect, mark ); FVIL.Data.CFviRectangle _rect = pattern.RegistRect; FVIL.Data.CFviPoint _mark = pattern.CenterMark; Console.WriteLine("rect={0:F1},{1:F1},{2:F1},{3:F1}", _rect.St.X, _rect.St.Y, _rect.Ed.X, _rect.Ed.Y); Console.WriteLine("mark={0:F1},{1:F1}", _mark.X, _mark.Y); } }; } |
出力結果:
Copy | |
---|---|
User.SampleCode.Basic.MakePatternRevision MakePatternRevision=0 rect=134.40,74.50,181.10,169.80 mark=33.20,65.00 MakePatternRevision=1 rect=134.00,75.00,181.00,170.00 mark=33.60,64.50 MakePatternRevision=0 rect=134.40,74.50,181.10,169.80 mark=33.20,65.00 |
Visual Basic | Copy |
---|---|
Imports System.Collections.Generic Imports System.Text Imports System.Drawing Imports fvalgcli ' FvPluginXXXX attribute requires fvalgcli Namespace SampleCode Partial Public Class Basic <FvPluginExecute> _ Public Sub MakePatternRevision() Dim method As System.Reflection.MethodBase = System.Reflection.MethodBase.GetCurrentMethod() Console.WriteLine("{0}.{1}", method.DeclaringType.FullName, method.Name) ' 既定値: MakePatternRevisionDemo() ' リビジョン 1 に設定した場合: FVIL.Data.CFviPattern.MakePatternRevision(1) MakePatternRevisionDemo() ' リビジョン 0 に設定した場合: FVIL.Data.CFviPattern.MakePatternRevision(0) MakePatternRevisionDemo() End Sub Public Sub MakePatternRevisionDemo() Console.WriteLine("MakePatternRevision={0}", FVIL.Data.CFviPattern.MakePatternRevision()) Dim src As New FVIL.Data.CFviImage() FVIL.File.[Function].LoadImageFile(Defs.TestImageDir & "/clip_UC8_M.png", src, FVIL.PixelMode.Unpacking) Dim pattern As New FVIL.Data.CFviPattern() Dim rect As New FVIL.Data.CFviRectangle(134.4, 74.5, 181.1, 169.8) Dim mark As New FVIL.Data.CFviPoint(167.6, 139.5) pattern.MakePattern(src, rect, mark) Dim _rect As FVIL.Data.CFviRectangle = pattern.RegistRect Dim _mark As FVIL.Data.CFviPoint = pattern.CenterMark Console.WriteLine("rect={0:F1},{1:F1},{2:F1},{3:F1}", _rect.St.X, _rect.St.Y, _rect.Ed.X, _rect.Ed.Y) Console.WriteLine("mark={0:F1},{1:F1}", _mark.X, _mark.Y) End Sub End Class End Namespace |
出力結果:
Copy | |
---|---|
User.SampleCode.Basic.MakePatternRevision MakePatternRevision=0 rect=134.40,74.50,181.10,169.80 mark=33.20,65.00 MakePatternRevision=1 rect=134.00,75.00,181.00,170.00 mark=33.60,64.50 MakePatternRevision=0 rect=134.40,74.50,181.10,169.80 mark=33.20,65.00 |
Exceptions
Exception | Condition |
---|---|
FVIL..::..CFviException | この例外の原因については、上記のエラーコード表をご参照ください。 |