C#でバーコード画像を作る
今回はC#でバーコード(画像)を作る方法を紹介します。
バーコードを1から自分でつくるのは大変なので、ZXing.Netというライブラリを利用します。
このライブラリはNuGetからインストールできます。
ZXingというライブラリもありますが使用するのはZxing.Netの方です。
では、このライブラリを使用してバーコード画像を作ってみましょう。
Bitmapを扱うので参照にSystem.Drawingを追加してください。
このコードではPureBarcodeプロパティにfalseを指定しているので、バーコードの下にテキストが表示されています。
この場合、Heightが小さすぎるとWriteメソッド実行時に例外が発生します。(テキスト描画するスペースがないため例外が発生するようです。)
PureBarcodeをfalseにする場合はHeightの値に注意してください。
PureBarcodeをtrueにした場合は以下の様にバーコードのみが描画されます。
テキストを表示していないのでHeightが小さくても例外は発生しません。
作成されるバーコードの幅はWidthで指定しますが、作成されるバーコードの幅に対してWidthの値が小さすぎた場合は自動で調整されます。
以下の画像はWidthを10にして作成した画像ですが、作成された画像の幅は142になっています。
ちなみに、バーコードに対してWidthが大きすぎる場合はバーコードが中央に配置されます。
ZXing.Netw使用すると、こんな感じで簡単にバーコード化ができます。
バーコードがBitmapで帰ってくるので利用しやすくて良いと思います。
今回はそのまま画像として保存しましたが、ビューワーに表示したり、他の画像等と合成したりと扱いやすいです。

using System; using System.Drawing.Imaging; using System.IO; using ZXing; namespace Barcode { class Program { static void Main(string[] args) { var bacodeWriter = new BarcodeWriter(); // バーコードの種類 bacodeWriter.Format = BarcodeFormat.CODE_128; // サイズ bacodeWriter.Options.Height = 40; bacodeWriter.Options.Width = 200; // バーコード左右の余白 bacodeWriter.Options.Margin = 30; // バーコードのみ表示するか // falseにするとテキストも表示する bacodeWriter.Options.PureBarcode = false; // バーコードBitmapを作成 using (var bitmap = bacodeWriter.Write("Test0123")) { // 画像として保存 var filePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Barcode.png"); bitmap.Save(filePath, ImageFormat.Png); } } } }バーコードを作成する為のクラスはBarcodeWriterです。 Formatプロパティにバーコードの書式を指定します。 Optionsプロパティではサイズやマージン等の設定が行えます。 Writeメソッドにバーコード化したい文字列を指定するとバーコードBitmapが返ってきます。 あとはBitmapを画像として保存するだけです。 このコードを実行すると以下の様なバーコード画像が作成されます。



スポンサーサイト
- 関連するタグ:
- C#