QRコードを作成する
QRImage
QRImageは有限会社スパイシーソフトさんがフリーで公開されているライブラリで、任意の文字列をQRコードの画像に変換することができます。出力画像フォーマットは、bmp, png, jpg, tif, gif, exifに対応しています。
QRコードを作成する
今回は、このライブラリを用いてPowerShellでQRコードを作成してみます。
STEP1:準備
- 以下から「qrimage.zip」をダウンロードします。
http://www.vector.co.jp/soft/dl/winnt/writing/se345269.html - qrimage.zipを解凍し、QR_Encode.dllを任意のディレクトリに配置します。
今回は「C:\lib\QR_Encode.dll」に配置しました。
QRコードを作成する準備はこれだけです。
サンプルスクリプト
パラメータ
背景色/前景色は白/青、表示倍率は3、変換文字列は以下で作成してみます。
PowerShell Memo http://d.hatena.ne.jp/newpops/
サンプルスクリプト
# QRコード作成クラスライブラリを読み込む [void][Reflection.Assembly]::LoadFrom("C:\lib\QR_Encode.dll") # QRコード作成クラスを生成する $qr = new-object QR_Encode_Class.QR_Encode # QRコードの背景色/前景色 [void][System.Reflection.Assembly]::LoadWithPartialName("System.Drawing") $qr.BackColor = [System.Drawing.Color]::White $qr.ForeColor = [System.Drawing.Color]::Blue # 表示倍率 $scale = 3 # QRコードに変換する文字列 $newLine = [System.Environment]::NewLine $encString = "PowerShell Memo" $encString += $newLine $encString += "http://d.hatena.ne.jp/newpops/" # QRコードの出力ファイル名パス $outputPath = "C:\QR_PowerShellMemo.gif" # QRコードを生成 $ret = $qr.EncodeData( ` 1, 0, $false, -1, $scale, $encString, $outputPath, $false, 255, 255)
※クラスライブラリの詳細仕様はqrimage.zipに含まれる資料を参照ください。
注意点
QRコードに変換する文字列に改行を含める場合、HereStringを用いるとバーコードリーダが改行を読み取れませんでした。
※HereStringについてはHereString - PowerShell Memoを参照
改行を含める場合は定数である[System.Environment]::NewLineを用いる必要があるようです。