バーコードの描画
みなさま、こんにちは。しむぅです。
今回は、シーオーリポーツのバーコード描画について説明しようと思います。
シーオーリポーツでは、バーコードを描画する際、解像度を意識する必要があります。
これは、 出力機器(デバイス)の表示の最小単位(画素)がピクセルだからです。
最小単位が1ピクセルなので、1ピクセルよりも小さい点は打てないということになります。
バーコードを描画する際の設定が4種類あります。
今回は、そのうちの2つを書きたいと思います。
想定解像度で描画(デフォルトの微調整方法)
レイヤのプロパティで設定する「想定解像度」を基準にして描画します。
フォームエディタ上でバーコードを作成する時点では、実際に出力するプリンタの解像度はわかりませんので、あらかじめ、レイヤのプロパティに基準となる解像度を設定するのです。
この描画方法では、各バー幅の比率、各スペースの比率を同じにするように処理します。
例えば、フォームエディタ上でバーコードフィールドの幅を広げる場合(■ や □ が1ピクセル)
■□■■□□■□■■□□
■□■■□□■□■■□□
■□■■□□■□■■□□
■□■■□□■□■■□□
■□■■□□■□■■□□
■■□□■■■■□□□□■■□□■■■■□□□□
■■□□■■■■□□□□■■□□■■■■□□□□
■■□□■■■■□□□□■■□□■■■■□□□□
■■□□■■■■□□□□■■□□■■■■□□□□
■■□□■■■■□□□□■■□□■■■■□□□□
■■■□□□■■■■■■□□□□□□■■■□□□■■■■■■□□□□□□
■■■□□□■■■■■■□□□□□□■■■□□□■■■■■■□□□□□□
■■■□□□■■■■■■□□□□□□■■■□□□■■■■■■□□□□□□
■■■□□□■■■■■■□□□□□□■■■□□□■■■■■■□□□□□□
■■■□□□■■■■■■□□□□□□■■■□□□■■■■■■□□□□□□
このように段階的にサイズが変わることになります。
そのため、自由なサイズでは作成できません。
想定解像度で描画(簡易微調整方法)
想定解像度で描画(デフォルトの微調整方法)の場合は、印刷した際のインクのにじみやトナーの飛び散りなどでバーの太さが変わってしまっても補正することが出来ません。
簡単に補正をするために使用してください。
例えば、何も補正しなかった場合に以下のように印刷をするとします。
■■□□■■■■□□□□■■□□■■■■□□□□
■■□□■■■■□□□□■■□□■■■■□□□□
■■□□■■■■□□□□■■□□■■■■□□□□
■■□□■■■■□□□□■■□□■■■■□□□□
■■□□■■■■□□□□■■□□■■■■□□□□
しかし、印刷したらインクがにじんでしまいバー幅が1ピクセル分太くなってしまったとします。
実際、右側だけにじむことはありませんが、イメージということでお願いします。
(● が にじんだ1ピクセル)
■■●□■■■■●□□□■■●□■■■■●□□□
■■●□■■■■●□□□■■●□■■■■●□□□
■■●□■■■■●□□□■■●□■■■■●□□□
■■●□■■■■●□□□■■●□■■■■●□□□
■■●□■■■■●□□□■■●□■■■■●□□□
このままでは、スペースの間隔が狭くなってしまい、バーコードリーダで読み取ることが出来ません。
そこで、「スペースに対するバーの調整値」に「-1」を設定します。
バーコード全体の幅は調整値を指定しても変わりません。調整値を指定すると各バー幅が変更され、バーコード全体の幅が変わらないようスペースの幅も調整されます。
■□□□■■■□□□□□■□□□■■■□□□□□
■□□□■■■□□□□□■□□□■■■□□□□□
■□□□■■■□□□□□■□□□■■■□□□□□
■□□□■■■□□□□□■□□□■■■□□□□□
■□□□■■■□□□□□■□□□■■■□□□□□
この状態で印刷を行なうと
■●□□□■■■●□□□□■●□□■■■●□□□□
■●□□□■■■●□□□□■●□□■■■●□□□□
■●□□□■■■●□□□□■●□□■■■●□□□□
■●□□□■■■●□□□□■●□□■■■●□□□□
■●□□□■■■●□□□□■●□□■■■●□□□□
このように、インクがにじんだことによって読み取れるバーコードになるというわけです。
実際、右側だけにじむことはありませんが、イメージということでお願いします。