引入Aspose.BarCode用来生成条形码,方法如下:

         /// <summary>
/// 生成条码
/// </summary>
/// <param name="CodeString">生成条码的字符串</param>
/// <param name="Path">条码保存的路径</param>
/// <returns>条码保存的路径</returns>
public bool CreateBarCode(string CodeString, string Path)
{
try
{
Aspose.BarCode.BarCodeBuilder builder = new Aspose.BarCode.BarCodeBuilder(CodeString, Symbology.GS1Code128);
//string filenameurl = Application.StartupPath + @"\xxx.gif";
builder.BorderVisible = false;
builder.BarHeight = 10f;
builder.BorderWidth = 30f;
builder.BorderDashStyle = Aspose.BarCode.BorderDashStyle.Solid;
builder.CodeLocation = CodeLocation.Below;
MarginsF Margin = new MarginsF(, , , );
builder.Margins = Margin;
if (!System.IO.File.Exists(Path))
{
builder.Save(Path);
}
else
{
System.IO.File.Delete(Path);
builder.Save(Path);
}
builder.Dispose();
}
catch (Exception ex)
{
return false;
}
return true; ;
}

将条形码加入到图片的指定位置:

         /// <summary>
/// 图片上方加条码,条码将会被180度反转
/// </summary>
/// <param name="Img">待处理图片</param>
/// <param name="ImgBarCode">写入的条码</param>
/// <param name="UpMargin">180度反转后条码顶部距离上边缘距离</param>
/// <param name="RightMargin">条码最左边距离右边缘距离</param>
/// <returns></returns>
public Bitmap BarCodeUp(Image Img, Image ImgBarCode, int UpMargin, int RightMargin)
{
//获取图片宽高
int Width = Img.Width;
int Height = Img.Height;
//获取图片水平和垂直的分辨率
float dpiX = Img.HorizontalResolution;
float dpiY = Img.VerticalResolution;
//创建一个位图文件
Bitmap BitmapResult = new Bitmap(Width, Height, PixelFormat.Format24bppRgb);
//设置位图文件的水平和垂直分辨率 与Img一致
BitmapResult.SetResolution(dpiX, dpiY);
//在位图文件上填充一个矩形框
Graphics Grp = Graphics.FromImage(BitmapResult);
System.Drawing.Rectangle Rec = new System.Drawing.Rectangle(, , Width, Height);
//向矩形框内填充Img
Grp.DrawImage(Img, , , Rec, GraphicsUnit.Pixel); //平移Graphics对象
Grp.TranslateTransform(Width - RightMargin, UpMargin);
//设置Graphics对象的输出角度
Grp.RotateTransform();
//设置条码填充颜色
//Brush brush = Brushes.Black;
//旋转显示条码
//Grp.DrawString(WriteString, new Font(FontType, FontSize), brush, 0, 0);
Grp.DrawImage(ImgBarCode, , );
//恢复全局变换矩阵
Grp.ResetTransform();
Grp.Dispose();
GC.Collect();
return BitmapResult;
}

C#图像处理(3):在图像上加条形码的更多相关文章

  1. C#图像处理(1):在图片上加文字和改变文字的方向

    C#在图片上加文字,代码如下: /// <summary> /// 图片上方加文字,文字将会被180度反转 /// </summary> /// <param name= ...

  2. 用 Python 和 OpenCV 检测图片上的条形码

      用 Python 和 OpenCV 检测图片上的的条形码 这篇博文的目的是应用计算机视觉和图像处理技术,展示一个条形码检测的基本实现.我所实现的算法本质上基于StackOverflow 上的这个问 ...

  3. 用 Python 和 OpenCV 检测图片上的条形码(转载)

    原文地址:http://python.jobbole.com/80448/ 假设我们要检测下图中的条形码: # load the image and convert it to grayscale 1 ...

  4. [图像]用Matlab在图像上画矩形框

    原创文章,欢迎转载.转载请注明:转载自 祥的博客 原文链接:http://blog.csdn.net/humanking7/article/details/46819527 在毕业设计的时候写论文画图 ...

  5. 数学之路-python计算实战(7)-机器视觉-图像产生加性零均值高斯噪声

    图像产生加性零均值高斯噪声.在灰度图上加上噪声,加上噪声的方式是每一个点的灰度值加上一个噪声值.噪声值的产生方式为Box-Muller算法生成高斯噪声. 在计算机模拟中,常常须要生成正态分布的数值.最 ...

  6. Win8 Metro(C#)数字图像处理--2.50图像运动模糊

    原文:Win8 Metro(C#)数字图像处理--2.50图像运动模糊  [函数名称] 图像运动模糊算法    MotionblurProcess(WriteableBitmap src,int  ...

  7. 图像处理---《在图片上打印文字 windows+GDI+TrueType字体》

    图像处理---<在图片上打印文字  windows+GDI+TrueType字体> 刚开始使用的是putText()函数做,缺陷是只能显示非中文: 接着,看大多数推荐Freetype库来做 ...

  8. 图像处理---《在图片上打印文字 FreeType库》

    图像处理---<在图片上打印文字 FreeType库> 目的:想在处理之后的图像上打印输出结果.方法: (1)只在图像上打印 数字.字母的话:                1.Mat格式 ...

  9. 图像处理---《在图片上打印文字 putText()》

    图像处理---<在图片上打印文字 putText()> 目的:想在处理之后的图像上打印输出结果. 方法: (1)只在图像上打印 数字.字母的话:                 1.Mat ...

随机推荐

  1. 对于数据操作的SQL语句精粹(长期更新)

    --删除空格 Update [Table] Set [Column]=Replace([Column],' ','') --查出左右和右边带空格的数据 select RTRIM( LTRIM([Col ...

  2. Swift - IBOutlet返回nil(fatal error: unexpectedly found nil while unwrapping an Optional value)

    在Swift 中 ViewController 默认构造方法不关联同名的xib文件 在使用OC的时候,调用ViewController的默认构造函数,会自动关联到一个与ViewController名字 ...

  3. jquery的queue方法

    queue: queue主要用于给元素上的函数队列(默认名为fx)添加函数(动画效果),这样dequeue就可以取出并执行函数队列中的第一个函数(即最先进入函数队列的函数),delay则可以延迟元素上 ...

  4. 仿校内textarea输入框字数限制效果

    这是一个仿校内textarea回复消息输入框限制字数的效果,具体表现如下: 普通状态是一个输入框,当光标获取焦点时,出现字数记录和回复按钮 PS:上边那个小三角可不是用的图片. 普通状态效果如下: 获 ...

  5. php 字符编码转换函数 iconv mb_convert_encoding比较

    在使用PHP处理字符串时,我们经常会碰到字符编码转换的问题,你碰到过iconv转换失败吗? 发现问题时,网上搜了搜,才发现iconv原来有bug ,碰到一些生僻字就会无法转换,当然了配置第二个参数时, ...

  6. 判断Python输入是否为数字

    在接收raw_input方法后,判断接收到的字符串是否为数字 例如: str = raw_input("please input the number:") if str.isdi ...

  7. SQL语句中的乘号

    在ADO中,我们需要在SQL语句中使用乘法运算,可是添加'*'以后执行程序总是会出错,这是因为‘*’与sql中的‘*’关键字重合了,所以编译会出错. 解决办法:将乘法运算放到sql语句外面,将结果放入 ...

  8. UI控件自定义tableView的分割线的样式

    - (void)drawRect:(CGRect)rect { CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetFi ...

  9. awk的日志模块追加日期时间字段的方案

    function test() { i = ) { system("sleep 1") "date +'%Y-%m-%d %H:%M:%S'" | getlin ...

  10. Qt creator 常用的快捷健

    Qt creator 常用的快捷健 F1        查看帮助F2        跳转到函数定义(和Ctrl+鼠标左键一样的效果)Shift+F2    声明和定义之间切换F4        头文件 ...