''' <summary>
''' 文字列をQRコードに変換する。
''' </summary>
''' <param name="txtData">変換元の文字列</param>
''' <param name="encMode">情報の種類(Byte/AlphaNumeric/Numeric)</param>
''' <param name="errCorrect">誤り訂正能力(L/M/Q/H)</param>
''' <param name="scale">1セル当りのピクセル数</param>
''' <param name="version">QRコードに格納する情報量を決める型番(1~40)</param>
''' <returns>QRコードのイメージ</returns>
''' <remarks></remarks>
Public Shared Function Encode( _
ByVal txtData As String, _
ByVal encMode As QRCodeEncoder.ENCODE_MODE, _
ByVal errCorrect As QRCodeEncoder.ERROR_CORRECTION, _
ByVal scale As Integer, _
ByVal version As Integer _
) As Image
Return Encode( _
txtData, encMode, errCorrect, _
scale, version, DEFAULT_ENCODING)
End Function
''' <summary>
''' 文字列をQRコードに変換する。
''' </summary>
''' <param name="txtData">変換元の文字列</param>
''' <param name="encMode">情報の種類(Byte/AlphaNumeric/Numeric)</param>
''' <param name="errCorrect">誤り訂正能力(L/M/Q/H)</param>
''' <param name="scale">1セル当りのピクセル数</param>
''' <param name="version">QRコードに格納する情報量を決める型番(1~40)</param>
''' <param name="encoding">エンコーディング</param>
''' <returns>QRコードのイメージ</returns>
''' <remarks></remarks>
Public Shared Function Encode( _
ByVal txtData As String, _
ByVal encMode As QRCodeEncoder.ENCODE_MODE, _
ByVal errCorrect As QRCodeEncoder.ERROR_CORRECTION, _
ByVal scale As Integer, _
ByVal version As Integer, _
ByVal encoding As System.Text.Encoding _
) As Image
Dim errMsg As String = Nothing
Dim qrEnc As QRCodeEncoder = Nothing
Dim img As Image = Nothing
'引数チェック
'[変換元の文字列]
' Nothingと空文字列はNGとする。
If String.IsNullOrEmpty(txtData) Then
Throw New ArgumentException( _
"Encode#txtDataが、Nothingか空文字列です。")
End If
'[QRコードに格納する情報量を決める型番]
' 1~40の範囲外はNGとする。
If version < 1 OrElse version > 40 Then
errMsg = String.Format( _
"Versionが範囲外[1~40]です。値:[{0}]", version)
Throw New ArgumentOutOfRangeException( _
"Encode#version", errMsg)
End If