Q78:QRコードを作成して表示させる練習をしています。
Q78-1:
「QRコードサンプル.mzax」を参照しながらQRコードを作成して、表示のプログラムを作成しました。
1)イメージビューワーへ縮小表示させたいのですが、うまくできません。(*Q1)
「Lesson12(イメージ表示).mzax」でも縮小はできますが、スクロール機能のあるイメージビューワーで行いたい。
2)また「QRコードサンプル.mzax」でのテキストの文字数は何で制約されますか?。(*Q2)
A78-1:
1)イメージビューワーのサイズよりも、大きな画像がイメージビューワーに設定された場合、イメージビューワーにスクロールバーが付きますが、それに合わせて「メソッド:setScale(int,int)」を行うと、スクロールバーの分が上手く勘案されず、未だスクロールバーが付く場合があります。
そのような時はver2.2から設けられた属性「AutoResize=true」として下さい。
画像の大きさに合わせてイメージビューワーの大きさが変わります。
属性情報からも設定することができます。
「メソッド:setPreferredSize」あるいは属性情報からPreferredSizeを設定すると画面上でのコンポーネントのサイズを指定することができます。
この際引数となる(Dimension)は一旦[寸法格納変数]コンポーネントで指定して格納しておくのが簡単です。
「PreferredSize」を設定すると「AutoResize=false」に戻ります。
2)株式会社デンソーウェーブ QR Code.comの以下のページをご覧下さい。
「QRコードの導入〜バージョンの決定〜」
http://www.denso-wave.com/qrcode/qrgene2.html
「各バージョンと最大入力文字数」
http://www.denso-wave.com/qrcode/vertable1.html
最大入力文字数はQRコードのバージョンや、誤り訂正レベルによって決まっています。MZPlatformのQRコードでは入力文字に関わらず、上記HP中の文字種「漢字」の最大入力文字数に準ずるとお考え下さい。
「メソッド:文字列をQRコードに変換する(String,Char,int)」を実行する際にバージョン番号を指定しますが、「0」とすると自動的に適切なバージョン番号が設定されますし、指定したバージョンの最大入力文字数を超えている場合にも自動的に調整されるようになっています。
また、誤り訂正レベルが高いと比例して最大入力文字数が少なくなりますが、バージョンが40になり、そのレベルでの最大入力文字数を超えた場合にはエラーが発生します。その場合は誤り訂正レベルを一つ下げてみて下さい。