2

ベクターベースのジェネレーターはバーコードを生成するための最良の方法ですか?はいの場合、それが利用する名前空間は何ですか?どのように使用されますか?誰かがこれについていくつかの知識を共有できますか?

4

2 に答える 2

1

バーコードのようなUPCについて話していると仮定すると、ベクトルベースの生成は必須ではありません。それは、いくつかのビットを垂直線として表すことの問題です。したがって、任意のグラフィックライブラリを使用して、またはビデオバッファへの直接アクセスを使用して、これを簡単に行うことができます。より大きなバーコードが必要な場合は、1つのビットを複数のピクセルで表すことができます。私が推測する補間を使用する必要はありません。ただし、特定のサイズ(ピクセル/センチメートルなど)が必要な場合は、ベクトルベースのソリューションが役立つ場合がありますが、それでも必須ではありません。

スケーラブルなバーコードグラフィックを生成するためのC#ソースコードの例。

手順:

1)という名前の新しいC#Windowsフォームサンプルプロジェクトを開きBarCodeます。

2)を追加し、とにPictureBox変更BackColorします。WhiteDockFill

3)にイベントを追加Loadします。ResizeForm1

4)以下のソースコードをコピーしてForm1.csファイルに貼り付けます。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace BarCode
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        public bool[] barCodeBits;

        private void Form1_Load(object sender, EventArgs e)
        {
            Random r = new Random();
            int numberOfBits = 100;
            barCodeBits = new bool[numberOfBits];
            for(int i = 0; i < numberOfBits; i++) {
                barCodeBits[i] = (r.Next(0, 2) == 1) ? true : false;
            }

            Form1_Resize(null, null);
        }

        private void Form1_Resize(object sender, EventArgs e)
        {
            int w = pictureBox1.Width;
            int h = pictureBox1.Height;

            pictureBox1.Image = new Bitmap(pictureBox1.Width, pictureBox1.Height);
            Graphics g = Graphics.FromImage(pictureBox1.Image);
            Brush b = new SolidBrush(Color.Black);

            for(int pos = 0; pos < barCodeBits.Length; pos++) {
                if(barCodeBits[pos]) {
                    g.FillRectangle(b, ((float)pos / (float)barCodeBits.Length) * w, 0, (1.0f / (float)barCodeBits.Length) * w, h);
                }
            }
        }
    }
}
于 2012-07-19T07:34:55.590 に答える
0

ベクターベースのグラフィックを使用してバーコードを開発する必要はありません。ほとんどの作業はすでに完了しているので、実際にはcodeprojectのこのリンクを参照してください。これにより、必要なバーコードのビットマップが生成されます。

于 2012-07-19T13:48:34.180 に答える