Autor Wiadomość
ghdhair100
PostWysłany: Pią 9:33, 11 Mar 2011    Temat postu: QRコ�ド作&#2510

自分へメモ�
「ThoughtWorks.QRCode.dll」を参照しています。



   ''' <summary>
''' デフォルトのエンコ�ディング名
''' </summary>
''' <remarks></remarks>
Private Const DEFAULT_ENCODING_NAME As String = "shift_jis"
''' <summary>
''' デフォルトのエンコ�ディング
''' </summary>
''' <remarks></remarks>
Private Shared ReadOnly DEFAULT_ENCODING As Encoding _
= Encoding.GetEncoding(DEFAULT_ENCODING_NAME)
''' <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
qrEnc = New QRCodeEncoder()
'「情�の��」を�定
' QRCodeEncoder.ENCODE_MODE.BYTE
' QRCodeEncoder.ENCODE_MODE.NUMERIC
' QRCodeEncoder.ENCODE_MODE.ALPHA_NUMERIC
qrEnc.QRCodeEncodeMode = encMode
'「�り�正能力」を�定
' QRCodeEncoder.ERROR_CORRECTION.L
' QRCodeEncoder.ERROR_CORRECTION.M
' QRCodeEncoder.ERROR_CORRECTION.Q
' QRCodeEncoder.ERROR_CORRECTION.H
qrEnc.QRCodeErrorCorrect = errCorrect
'「1セル当りのピクセル数」を�定
' 数�が大きい程、画像のサイズは大きくなる。
qrEnc.QRCodeScale = scale
'「QRコ�ドに格�する情�量を�める型番」を�定
' 1から40までの整数を指定
' 格�するデ�タ�が�い程、
' より大きいバ�ジョン番号を必要とする。
' QRコ�ドを�成するセルの数も多くなる,GHD Diamond
qrEnc.QRCodeVersion = version
img = qrEnc.Encode(txtData,GHD Australia, encoding)
Return img
End Function
#End Region
#Region "QRコ�ドのイメ�ジから文字列を�元する,GHD Hair Pink Sale。"
''' <summary>
''' QRコ�ドのイメ�ジから文字列を�元する。
''' </summary>
''' <param name="imgData">QRコ�ドのイメ�ジ</param>
''' <returns>�元後の文字列</returns>
''' <remarks></remarks>
Public Shared Function Decode( _
ByVal imgData As Image _
) As String
Return Decode(imgData, DEFAULT_ENCODING)
End Function
''' <summary>
''' QRコ�ドのイメ�ジから文字列を�元する。
''' </summary>
''' <param name="imgData">QRコ�ドのイメ�ジ</param>
''' <param name="encoding">エンコ�ディング</param>
''' <returns>�元後の文字列</returns>
''' <remarks></remarks>
Public Shared Function Decode( _
ByVal imgData As Image, _
ByVal encoding As System.Text.Encoding _
) As String
Dim qrDec As QRCodeDecoder = Nothing
Dim qrBitmap As QRCodeBitmapImage = Nothing
Dim txtData As String = Nothing
'引数チェック
'[��元の文字列]
' NothingはNGとする。
If imgData Is Nothing Then
Throw New ArgumentNullException( _
"Decode#imgDataがNothingです。")
End If
qrDec = New QRCodeDecoder()
qrBitmap = New QRCodeBitmapImage(New Bitmap(imgData))
txtData = qrDec.decode(qrBitmap, encoding)
Return txtData
End Function
#End Region
The secondary purpose is to show you how much traffic 038; visibility your articles are attracting for you.Some questions for you:How would you like to see these email reports improved?What additional information should we include in them?Is monthly the right frequency to send them or would like them more or less frequently?Does this email service lead you to really write and submit more articles or not so much?Would you like to see total # of clicks delivered to your website?


精彩图片欣赏 祝朋友们新年快乐

Powered by phpBB © 2001,2002 phpBB Group