C#图像处理(3):在图像上加条形码

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

 1         /// <summary>
 2         /// 生成条码
 3         /// </summary>
 4         /// <param name="CodeString">生成条码的字符串</param>
 5         /// <param name="Path">条码保存的路径</param>
 6         /// <returns>条码保存的路径</returns>
 7         public bool CreateBarCode(string CodeString, string Path)
 8         {
 9             try
10             {
11                 Aspose.BarCode.BarCodeBuilder builder = new Aspose.BarCode.BarCodeBuilder(CodeString, Symbology.GS1Code128);
12                 //string filenameurl = Application.StartupPath + @"\xxx.gif";
13                 builder.BorderVisible = false;
14                 builder.BarHeight = 10f;
15                 builder.BorderWidth = 30f;
16                 builder.BorderDashStyle = Aspose.BarCode.BorderDashStyle.Solid;
17                 builder.CodeLocation = CodeLocation.Below;
18                 MarginsF Margin = new MarginsF(1, 1, 0, 0);
19                 builder.Margins = Margin;
20                 if (!System.IO.File.Exists(Path))
21                 {
22                     builder.Save(Path);
23                 }
24                 else
25                 {
26                     System.IO.File.Delete(Path);
27                     builder.Save(Path);
28                 }
29                 builder.Dispose();
30             }
31             catch (Exception ex)
32             {
33                 return false;
34             }
35             return true; ;
36         }

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

 1         /// <summary>
 2         /// 图片上方加条码,条码将会被180度反转
 3         /// </summary>
 4         /// <param name="Img">待处理图片</param>
 5         /// <param name="ImgBarCode">写入的条码</param>
 6         /// <param name="UpMargin">180度反转后条码顶部距离上边缘距离</param>
 7         /// <param name="RightMargin">条码最左边距离右边缘距离</param>
 8         /// <returns></returns>
 9         public Bitmap BarCodeUp(Image Img, Image ImgBarCode, int UpMargin, int RightMargin)
10         {
11             //获取图片宽高
12             int Width = Img.Width;
13             int Height = Img.Height;
14             //获取图片水平和垂直的分辨率
15             float dpiX = Img.HorizontalResolution;
16             float dpiY = Img.VerticalResolution;
17             //创建一个位图文件
18             Bitmap BitmapResult = new Bitmap(Width, Height, PixelFormat.Format24bppRgb);
19             //设置位图文件的水平和垂直分辨率  与Img一致
20             BitmapResult.SetResolution(dpiX, dpiY);
21             //在位图文件上填充一个矩形框
22             Graphics Grp = Graphics.FromImage(BitmapResult);
23             System.Drawing.Rectangle Rec = new System.Drawing.Rectangle(0, 0, Width, Height);
24             //向矩形框内填充Img
25             Grp.DrawImage(Img, 0, 0, Rec, GraphicsUnit.Pixel);
26
27
28             //平移Graphics对象
29             Grp.TranslateTransform(Width - RightMargin, UpMargin);
30             //设置Graphics对象的输出角度
31             Grp.RotateTransform(180);
32             //设置条码填充颜色
33             //Brush brush = Brushes.Black;
34             //旋转显示条码
35             //Grp.DrawString(WriteString, new Font(FontType, FontSize), brush, 0, 0);
36             Grp.DrawImage(ImgBarCode, 0, 0);
37             //恢复全局变换矩阵
38             Grp.ResetTransform();
39             Grp.Dispose();
40             GC.Collect();
41             return BitmapResult;
42         }

C#图像处理(3):在图像上加条形码

时间: 2024-08-10 06:28:18

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

数字图像处理 CImage类的使用与封装(jpg png gif tif bmp等格式图像的加载、数据读写、保存等功能)

引入CImage类的原因 原有的CBitmap 类只能处理BMP格式的图片,非常受限.而CImage可以处理JPGE.GIF.BMP.PNG等多种格式图片,扩展了图片处理功能且能与CBitmap 进行转换( 因为所载入的位图句柄都是HBITMAP,所以可相互转换),因此引入CImage类进行图像处理. CImage类简介 CImage是MFC和ATL共享的新类,它能从外部磁盘中调入一个JPEG.GIF.BMP和PNG格式的图像文件加以显示,而且这些文件格式可以相互转换. CImage提供增强型的

报表上创建条形码图像的条码控件Native MS Access Barcode Generator

Native MS Access Barcode Generator条形码控件是一个VBA模块,可以方便地嵌入到微软Access数据库中,用于在报表上创建条形码图像.一旦被安装到一个数据库中,创建条形码时就不需要安装其它任何字体或组件:它是一个完整的.与数据库一起使用的条形码生成器,即使当它发布以后也一样. 具体功能: Native Access Barcode Generator产品是为那些希望不依赖任何外部设备,而将条形码功能纳入到数据库和应用程序的Access开发者而准备的.非开发人员和最

报表上创建条形码图像的条形码控件Native MS Access Barcode Generator

Native MS Access Barcode Generator是一个VBA模块,可以方便地嵌入到微软Access数据库中,用于在报表上创建条形码图像.一旦被安装到一个数据库中,创建条形码时就不需要安装其它任何字体或组件:它是一个完整的.与数据库一起使用的条形码生成器,即使当它发布以后也一样. 具体功能: Native Access Barcode Generator产品是为那些希望不依赖任何外部设备,而将条形码功能纳入到数据库和应用程序的Access开发者而准备的.非开发人员和最终用户可能

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

C#在图片上加文字,代码如下: 1 /// <summary> 2 /// 图片上方加文字,文字将会被180度反转 3 /// </summary> 4 /// <param name="Img">待处理图片</param> 5 /// <param name="WriteString">写入的字符串</param> 6 /// <param name="UpMargin&quo

PHP 使用GD库生成验证码 在图像上绘制汉字

PHP 并不仅限于创建 HTML 输出, 它也可以创建和处理包括 GIF, PNG, JPEG, WBMP 以及 XPM 在内的多种格式的图像. 更加方便的是,PHP 可以直接将图像数据流输出到浏览器. 要想在 PHP 中使用图像处理功能,你需要连带 GD 库一起来编译 PHP. GD 库和 PHP 可能需要其他的库, 这取决于你要处理的图像格式. 你可以使用 PHP 中的图像函数来获取下列格式图像的大小: JPEG, GIF, PNG, SWF, TIFF 和 JPEG2000.如果联合 ex

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

  用 Python 和 OpenCV 检测图片上的的条形码 这篇博文的目的是应用计算机视觉和图像处理技术,展示一个条形码检测的基本实现.我所实现的算法本质上基于StackOverflow 上的这个问题,浏览代码之后,我提供了一些对原始算法的更新和改进. 首先需要留意的是,这个算法并不是对所有条形码有效,但会给你基本的关于应用什么类型的技术的直觉. 假设我们要检测下图中的条形码: 图1:包含条形码的示例图片 现在让我们开始写点代码,新建一个文件,命名为detect_barcode.py,打开并编

图像处理复习1——图像基础和空域增强

图像处理复习 CH2 图像基础 2.1 噪声 噪声定义为妨碍人们感觉器官对所接收的信源信息理解的因素,噪声有以下几个常见分类: (1)按统计理论分类 平稳噪声:统计特性不随时间变化 非平稳噪声:统计特性随时间变化 (2)按频谱形状分类 白噪声:频谱均匀分布 三角噪声:频谱与频率平方成正比 (3)按幅度分布形状分类:高斯噪声.雷利噪声 (4)按噪声与信号关系分类:加性噪声.乘性噪声 处理噪声时往往假设噪声是加性噪声并且噪声和信号是相互统计独立的 2.2 成像基础模型 假设投影成像有以下模型: 则由

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

原创文章,欢迎转载.转载请注明:转载自 祥的博客 原文链接:http://blog.csdn.net/humanking7/article/details/46819527 在毕业设计的时候写论文画图,要在一个图像上精确的标记出要处理的区域,用Photoshop或是其他绘图软件难免不精确,而且也不符合懒人思维(以后怎么办,要一劳永逸,嘿嘿),所以就自己写软件吧. 编程思想和注意事项 其实程序的思路很简单,就是在局域外面像素的值(颜色)覆盖掉就行了,但是要注意几点内容. 原图像通道问题(边框颜色问

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

图像产生加性零均值高斯噪声,在灰度图上加上噪声,加上噪声的方式是每个点的灰度值加上一个噪声值,噪声值的产生方式为Box-Muller算法生成高斯噪声. 在计算机模拟中,经常需要生成正态分布的数值.最基本的一个方法是使用标准的正态累积分布函数的反函数.除此之外还有其他更加高效的方法,Box-Muller变换就是其中之一.另一个更加快捷的方法是ziggurat算法.下面将介绍这两种方法.一个简单可行的并且容易编程的方法是:求12个在(0,1)上均匀分布的和,然后减6(12的一半).这种方法可以用在很