タイムアウト時間 (msec) [初期値:0.0、範囲:0.0 以上] ※ 0.0 を指定した場合はタイムアウトは行いません。
Namespace: FVIL.QRAssembly: FVILbasic (in FVILbasic.dll) Version: 3.1.0.0 (3.1.0.17)
Syntax
C# |
---|
public static double DefaultTimeout { get; set; } |
Visual Basic |
---|
Public Shared Property DefaultTimeout As Double Get Set |
Return Value
Type: Double取得した値を返します。
Remarks
既定のタイムアウト時間の取得または設定を行います。
この設定値は、CFviQR.Execute で使用されています。
アプリケーション内で共通になります。インスタンス毎には設定できません。
設定に失敗した場合は例外を発行します。 例外の原因と発生位置を特定するには、発行された例外クラスの ErrorCode メンバと Function メンバを参照してください。
エラーコード:
値 | ErrorCode メンバ | 内容 |
---|---|---|
11 | FVIL.ErrorCode.INVALID_PARAMETER | 引数に指定された値が不正です。 |
関連する FIE 関数:
fnFIE_qr_set_timeout
fnFIE_qr_get_timeout
Examples
ソースコード:
出力結果:
ソースコード:
出力結果:
C# | Copy |
---|---|
using System; using System.Collections.Generic; using System.Text; using System.Drawing; using fvalgcli; namespace User.SampleCode { public partial class QR { [FvPluginExecute] public void DefaultTimeout() { var timer = new FVIL.CFviTimeCounter(); double msec; // 1) インスタンスの準備. var src = new FVIL.Data.CFviImage(Defs.TestImageDir + "/QR-3-U8.png"); var result = new FVIL.QR.CFviQRResult(); var parser = new FVIL.QR.CFviQR(src, result); // 2) 処理対象画像の有効性検査. if (FVIL.ErrorCode._SUCCESS != FVIL.QR.CFviQR.CheckValidity(src)) return; try { // 3) パラメータ設定. parser.Param.BinMethod = FVIL.QR.BinMethod.Average; parser.Param.BinThreshold = 128; parser.Param.EffortLevel = FVIL.QR.EffortLevel.Maximum; parser.Param.MinVar = 1000; parser.Param.WindowSize = 11; // タイムアウトの取得: Console.WriteLine("DefaultTimeout = {0}", FVIL.QR.CFviQRParam.DefaultTimeout); // 4-1) 画像処理実行. { timer.Start(); parser.Execute(); msec = timer.Stop(); Console.WriteLine("QR"); Console.WriteLine("execute. {0} msec", msec.ToString("0.###")); Console.WriteLine("Result.Count = {0}", parser.Result.Count); for (int i = 0; i < parser.Result.Count; i++) { var data0 = new FVIL.QR.CFviQRData(parser.Result[i]); Console.WriteLine("QRData[{0}]", i); Console.WriteLine(" Index = {0}", data0.Index); Console.WriteLine(" Center = ({0:f},{1:f})", data0.Center.X, data0.Center.Y); Console.WriteLine(" Size = {0:f}", data0.Size); Console.WriteLine(" MinCellWidth = {0:f}", data0.MinCellWidth); Console.WriteLine(" Text = {0}", data0.Text); } } // タイムアウトの設定と取得: FVIL.QR.CFviQRParam.DefaultTimeout = 10; Console.WriteLine("DefaultTimeout = {0}", FVIL.QR.CFviQRParam.DefaultTimeout); // 4-2) 画像処理実行. { timer.Start(); parser.Execute(); msec = timer.Stop(); Console.WriteLine("QR"); Console.WriteLine("execute. {0} msec", msec.ToString("0.###")); Console.WriteLine("Result.Count = {0}", parser.Result.Count); for (int i = 0; i < parser.Result.Count; i++) { var data0 = new FVIL.QR.CFviQRData(parser.Result[i]); Console.WriteLine("QRData[{0}]", i); Console.WriteLine(" Index = {0}", data0.Index); Console.WriteLine(" Center = ({0:f},{1:f})", data0.Center.X, data0.Center.Y); Console.WriteLine(" Size = {0:f}", data0.Size); Console.WriteLine(" MinCellWidth = {0:f}", data0.MinCellWidth); Console.WriteLine(" Text = {0}", data0.Text); } } // タイムアウトの設定と取得: (既定値に戻す) FVIL.QR.CFviQRParam.DefaultTimeout = 0; Console.WriteLine("DefaultTimeout = {0}", FVIL.QR.CFviQRParam.DefaultTimeout); } catch (System.Exception ex) { Assert.Fail("{0}", ex.Message); } finally { src.Dispose(); result.Dispose(); parser.Dispose(); } } } } |
出力結果:
Copy | |
---|---|
User.SampleCode.QR.DefaultTimeout DefaultTimeout = 0 QR execute. 18.08 msec Result.Count = 3 QRData[0] Index = 0 Center = (764.34,562.87) Size = 25.00 MinCellWidth = 4.86 Text = http://pianissimo.jtad.jp/ QRData[1] Index = 1 Center = (583.76,123.00) Size = 29.00 MinCellWidth = 5.26 Text = http://silencia.jp/ QRData[2] Index = 2 Center = (354.98,344.58) Size = 29.00 MinCellWidth = 3.79 Text = http://p.nestle.jp/scg/ DefaultTimeout = 10 QR execute. 10.2 msec Result.Count = 0 DefaultTimeout = 0 |
ソースコード:
Visual Basic | Copy |
---|---|
Imports System.Collections.Generic Imports System.Text Imports System.Drawing Imports fvalgcli Namespace SampleCode Public Partial Class QR <FvPluginExecute> _ Public Sub DefaultTimeout() Dim timer As New FVIL.CFviTimeCounter() Dim msec As Double ' 1) インスタンスの準備. Dim src As New FVIL.Data.CFviImage(Defs.TestImageDir & "/QR-3-U8.png") Dim result As New FVIL.QR.CFviQRResult() Dim parser As New FVIL.QR.CFviQR(src, result) ' 2) 処理対象画像の有効性検査. If FVIL.ErrorCode._SUCCESS <> FVIL.QR.CFviQR.CheckValidity(src) Then Return End If Try ' 3) パラメータ設定. parser.Param.BinMethod = FVIL.QR.BinMethod.Average parser.Param.BinThreshold = 128 parser.Param.EffortLevel = FVIL.QR.EffortLevel.Maximum parser.Param.MinVar = 1000 parser.Param.WindowSize = 11 ' タイムアウトの取得: Console.WriteLine("DefaultTimeout = {0}", FVIL.QR.CFviQRParam.DefaultTimeout) ' 4-1) 画像処理実行. If True Then timer.Start() parser.Execute() msec = timer.[Stop]() Console.WriteLine("QR") Console.WriteLine("execute. {0} msec", msec.ToString("0.###")) Console.WriteLine("Result.Count = {0}", parser.Result.Count) For i As Integer = 0 To parser.Result.Count - 1 Dim data0 As New FVIL.QR.CFviQRData(parser.Result(i)) Console.WriteLine("QRData[{0}]", i) Console.WriteLine(" Index = {0}", data0.Index) Console.WriteLine(" Center = ({0:f},{1:f})", data0.Center.X, data0.Center.Y) Console.WriteLine(" Size = {0:f}", data0.Size) Console.WriteLine(" MinCellWidth = {0:f}", data0.MinCellWidth) Console.WriteLine(" Text = {0}", data0.Text) Next End If ' タイムアウトの設定と取得: FVIL.QR.CFviQRParam.DefaultTimeout = 10 Console.WriteLine("DefaultTimeout = {0}", FVIL.QR.CFviQRParam.DefaultTimeout) ' 4-2) 画像処理実行. If True Then timer.Start() parser.Execute() msec = timer.[Stop]() Console.WriteLine("QR") Console.WriteLine("execute. {0} msec", msec.ToString("0.###")) Console.WriteLine("Result.Count = {0}", parser.Result.Count) For i As Integer = 0 To parser.Result.Count - 1 Dim data0 As New FVIL.QR.CFviQRData(parser.Result(i)) Console.WriteLine("QRData[{0}]", i) Console.WriteLine(" Index = {0}", data0.Index) Console.WriteLine(" Center = ({0:f},{1:f})", data0.Center.X, data0.Center.Y) Console.WriteLine(" Size = {0:f}", data0.Size) Console.WriteLine(" MinCellWidth = {0:f}", data0.MinCellWidth) Console.WriteLine(" Text = {0}", data0.Text) Next End If ' タイムアウトの設定と取得: (既定値に戻す) FVIL.QR.CFviQRParam.DefaultTimeout = 0 Console.WriteLine("DefaultTimeout = {0}", FVIL.QR.CFviQRParam.DefaultTimeout) Catch ex As System.Exception Assert.Fail("{0}", ex.Message) Finally src.Dispose() result.Dispose() parser.Dispose() End Try End Sub End Class End Namespace |
出力結果:
Copy | |
---|---|
User.SampleCode.QR.DefaultTimeout DefaultTimeout = 0 QR execute. 18.08 msec Result.Count = 3 QRData[0] Index = 0 Center = (764.34,562.87) Size = 25.00 MinCellWidth = 4.86 Text = http://pianissimo.jtad.jp/ QRData[1] Index = 1 Center = (583.76,123.00) Size = 29.00 MinCellWidth = 5.26 Text = http://silencia.jp/ QRData[2] Index = 2 Center = (354.98,344.58) Size = 29.00 MinCellWidth = 3.79 Text = http://p.nestle.jp/scg/ DefaultTimeout = 10 QR execute. 10.2 msec Result.Count = 0 DefaultTimeout = 0 |
Exceptions
Exception | Condition |
---|---|
FVIL..::..CFviException | この例外の原因については、上記のエラーコード表をご参照ください。 |