基于矢量的发生器是生成条形码的最佳方法吗?如果是,它将使用的命名空间是什么?它是如何使用的?任何人都可以分享这方面的知识吗?基于矢量的生成器是创建条形码的最佳方式吗?
回答
假设我们正在谈论像条形码UPC,基于矢量的一代是不是必须的。这是代表一些垂直线的问题。因此,您可以使用任何图形库甚至直接访问视频缓冲区轻松完成此操作。如果您需要更大的条形码,您可以用多个像素表示一个位。我猜你不需要使用任何插值。但是如果你需要一定的尺寸(像素/厘米等),基于矢量的解决方案可能会很少,但仍然不是必须的。
用于生成可缩放条形码图形的C#源代码示例。
步骤:
1)打开一个新的C#Windows窗体名为BarCode
样本项目。
2)添加一个PictureBox
并改变BackColor
到White
并Dock
到Fill
。
3)将Load
和Resize
事件添加到Form1
。
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);
}
}
}
}
}
我正在谈论code39或code 128条形码。我想呈现我自己的。我将使用C#生成条形码。您提到了直接访问视频缓冲区,我们如何实现这一目标? – Akshay 2012-07-19 08:23:11
我是在泛泛而谈,而不是平台/语言特定。使用.NET,我建议使用GDI +。我想你已经知道如何生成条形码,但是你正在寻找一种方法来将它们渲染成图像,对吗?如果是这样,我会尽快更新我的问题。 – 2012-07-19 11:36:53
Yup tats rite。我已经在研究如何使用位图手动绘制每条线,但发现绘制条形码线有点困难。 – Akshay 2012-07-19 11:50:11
您不必使用基于矢量的图形来开发条形码。我其实看看this link on codeproject,因为大部分工作已经完成了。这生成了所需条形码的位图。
我经历了许多第三方库,我不想使用这些库。我想呈现我自己的。 – Akshay 2012-07-20 04:58:29
@Akshay - 链接不是第三方库 - 它是完整的来源,使您能够自己渲染! – 2012-07-20 07:25:23
- 1. 基于DWR的类编码的最佳方式是什么?
- 2. 创建形式的矢量101,1001,10001,...]
- 3. 基于其他矢量的矢量创建和修改
- 4. 矢量图形的最佳Flash引擎?
- 5. 是否有适用于JavaScript的Aztec条形码生成器库?
- 6. 这是使用LINQ创建频率表的最佳方式吗?
- 7. Prince是在Ruby on Rails中创建PDF的最佳方式吗?
- 8. 什么是创建衍生属性的最佳方式
- 9. 什么是生成大量独特促销代码的最佳方式?
- 10. 创建具有基于另一矢量
- 11. 创建大量虚拟数据的最佳方式是什么?
- 12. 的最佳方式基于类型
- 13. Python化的方式来创建矢量
- 14. 什么是分析代码来创建UML的最佳方式?
- 15. 用于保存基于矢量的3D图形的格式
- 16. 生成报告的最佳方式
- 17. 从NSString显示条形码的最佳方式
- 18. 什么是动态创建MSMQ监听器的最佳方式?
- 19. 什么是创建标准过滤器的最佳方式?
- 20. 最发生于矢量R
- 21. 构建基于Web的即时消息的最佳方式?
- 22. Web上可伸缩矢量图形的最佳文件格式?
- 23. 从给定文件创建基于磁盘的B树的最佳方式?
- 24. 最佳和优化的方式来创建基于Web的互动Choropleth地图
- 25. 是使用lateinit的最佳方式吗?
- 26. 在Drupal中创建基于标准的,跨浏览器兼容的圆角的最佳方式是什么?
- 27. TYPO3 - 创建100000页的最佳方式
- 28. 用PHP创建PDF的最佳方式
- 29. 创建主键的最佳方式 - Swift
- 30. SQL基于DMO的代码生成器
什么?你在说什么条形码?您是否考虑过寻找可以使用的第三方库? – 2012-07-19 07:30:32
@MarkByers可能是一个普通条形码,http://en.wikipedia.org/wiki/Barcode。 – alexn 2012-07-19 07:31:18
我正在谈论code39或code 128条形码。是的,我经历了许多第三方库,我不想使用这些库。我想呈现我自己的。 – Akshay 2012-07-19 08:21:02