引入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. 旧版asp.net 发送邮件代码

    说到发送邮件发送,先提一下SMTP(呵呵,高手就跳过这一段吧!). SMTP的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议.它是一组用于从源地址到目的地址传 ...

  2. 腾讯CMEM的PHP扩展(转载)

    题外话最近公司在做相关的业务,由于Memcached协议缺少返回码,为了保证业务数据的安全性,不得已只好自己写个扩展来实现需求. 基于memcache扩展的2.2.6的稳定版开发而来.代码已经开源,有 ...

  3. hdu 2016

    Problem Description 输入n(n<100)个数,找出其中最小的数,将它与最前面的数交换后输出这些数.   Input 输入数据有多组,每组占一行,每行的开始是一个整数n,表示这 ...

  4. 一个ajax的后台controller

    @RequestMapping("/api/merBrand") @ResponseBody public ResultBrand merBrand(HttpServletRequ ...

  5. XCode中使用SVN 教程

    修改subversion.config方法: 可以直接在终端上输入:vi ~/.subversion/config来编辑. 也可以通过Finder搜索.subversion,点击下边的+号,进入高级搜 ...

  6. 安卓handler.post问题

    protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentV ...

  7. maven配置文件解析

    maven2配置文件主要分为settings.xml与pom.xml两种,下面将逐一介绍. ===================================settings.xml======= ...

  8. Itext 中的文本信息绝对定位

    PdfContentByte pcb = pw.getDirectContent(); pcb.beginText(); pcb.setFontAndSize(bfChinese, 12); pcb. ...

  9. 国威电话机WS824(5D)-3型调试文档--可以转行啦

    多了一万多搞的机器,花了我和同事们两三个晚上,最近还要打技术支持得到的经验... 可以转行作弱电啦啦~~~) 一,外线分组调试: 默认设置为所有内线端口可用1,2,13,14,15,16打出.(16个 ...

  10. 关闭WIN10的UAC/自动更新/杀毒软件(兼容WIN7/8/8.1)

    第一部分:禁用wuauserv服务以及关闭UAC(保存为DW10UD.REG) Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYS ...