タイムアウト時間 (msec) [初期値:0.0、範囲:0.0 以上] ※ 0.0 を指定した場合はタイムアウトは行いません。

Namespace: FVIL.QR
Assembly: 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 メンバ内容
11FVIL.ErrorCode.INVALID_PARAMETER引数に指定された値が不正です。

関連する FIE 関数:

fnFIE_qr_set_timeout
fnFIE_qr_get_timeout

Examples

ソースコード:
C# Copy imageCopy
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 imageCopy
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 imageCopy
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 imageCopy
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

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

See Also