qrcodenet二维码图片下扩展区域添加号段的操作

总监安排了个任务,一个号码导出一个二维码图, 我实现了最终还能批量生成,结果主管说要在图片下边添加一行,和图片是一起的
最开始把控件的上的图给改了,结果保存起来没用,控件上的图跟要保存的不是一个事。
最终找到在此方法中修改:
程序是先绘制背景图。
然后,把二维码的矩阵,小模块一个个打印出来。
把y点的padding 数去掉,生成的图片就会升到背景图的顶部,觉得太靠顶了自己加个参数。
Point modulePosition = new Point(preX * size.ModuleSize + padding + offset.X,
y * size.ModuleSize + offset.Y);
Point modulePosition = new Point(preX * size.ModuleSize + padding + offset.X,
y * size.ModuleSize + offset.Y);
public void Draw(Graphics graphics, BitMatrix QrMatrix, Point offset)
{
int width = QrMatrix == null ? : QrMatrix.Width; DrawingSize size = m_iSize.GetSize(width);
//绘背景图图
graphics.FillRectangle(m_LightBrush, offset.X, offset.Y, size.CodeWidth, size.CodeWidth); if(QrMatrix == null || size.ModuleSize == )
return; int padding = (size.CodeWidth - (size.ModuleSize * width)) / ; int preX = -; for (int y = ; y < width; y++)
{
for (int x = ; x < width; x++)
{
if (QrMatrix[x, y])
{
//Set start point if preX == -1
if (preX == -)
preX = x;
//If this is last module in that row. Draw rectangle
if (x == width - )
{
Point modulePosition = new Point(preX * size.ModuleSize + padding + offset.X,
y * size.ModuleSize + offset.Y);
Size rectSize = new Size((x - preX + ) * size.ModuleSize, size.ModuleSize);
graphics.FillRectangle(m_DarkBrush, modulePosition.X, modulePosition.Y, rectSize.Width, rectSize.Height);
preX = -;
}
}
else if (!QrMatrix[x, y] && preX != -)
{
//Here will be first light module after sequence of dark module.
//Draw previews sequence of dark Module
Point modulePosition = new Point(preX * size.ModuleSize + padding + offset.X,
y * size.ModuleSize + offset.Y);
Size rectSize = new Size((x - preX) * size.ModuleSize, size.ModuleSize);
graphics.FillRectangle(m_DarkBrush, modulePosition.X, modulePosition.Y, rectSize.Width, rectSize.Height);
preX = -;
}
}
} }

qrcodenet二维码图片下扩展区域添加号段的操作的更多相关文章
- jquery-qrcode客户端二维码生成类库扩展--融入自定义Logo图片
年后换了部门,现在主要的职责就是在网上卖精油,似乎这个就是传说中的网络营销. 跟着公司的MM们也了解不了少关于网络营销的知识,间接的了解到马云和刘强东都是些怎样龌龊的人,尽管之前也这样认为. 淘宝就不 ...
- QrenCode : 命令行下生成二维码图片
对于二维码大家应该并不陌生,英文名为 2-dimensional bar code 或 QR Code,是一种用图形记载信息的技术,最常见的是应用在手机应用上.用户通过手机摄像头扫描二维码或输入二维码 ...
- QrenCode : linux命令行下生成二维码图片
原文链接:http://wowubuntu.com/qrencode.html # 作者:riku/ / 本文采用CC BY-NC-SA 2.5协议授权,转载请注明本文链接. 对于二维码大家应该并不陌 ...
- java--实现将文字生成二维码图片,并在中间附上logo,下方附上文字
前段时间因为工作需要,要实现将一段文字或者url生成二维码,然后中间附上logo,下方正中间附上文字的功能. 上网找了几篇教程学习了下,由于没有保存借鉴的博文链接,所以就没po上参考文章的链接啦,感谢 ...
- asp.net.web如何简单生成和保存二维码图片的例子
首先,要有生成二维码图片,需要二维码生成的类库,到官网下载thoughtWorks.QRCode.dll 例子的步骤: 1.创建项目QRCodeTest1,选择asp.net.web窗体应用程序
- C# 利用QRCode生成二维码图片
网上生成二维码的组件是真多,可是真正好用的,并且生成速度很快的没几个,QRCode就是我在众多中找到的,它的生成速度快.但是网上关于它的使用说明,真的太少了,大都是千篇一律的复制粘贴.这是本要用它做了 ...
- iOS摇一摇功能、震动功能、简单的摇动动画、生成二维码图片与发送短信等几个功能
有一个开锁的功能,具体的需求就类似于微信的"摇一摇"功能:摇动手机,手机震动,手机上的锁的图片摇动一下,然后发送开锁指令.需求简单,但用到了许多方面的知识. 1.摇一摇 相对这是最 ...
- ZXing 生成、解析二维码图片的小示例
概述 ZXing 是一个开源 Java 类库用于解析多种格式的 1D/2D 条形码.目标是能够对QR编码.Data Matrix.UPC的1D条形码进行解码. 其提供了多种平台下的客户端包括:J2ME ...
- JAVA中生成、解析二维码图片的方法
JAVA中生成.解析二维码的方法并不复杂,使用google的zxing包就可以实现.下面的方法包含了生成二维码.在中间附加logo.添加文字功能,并有解析二维码的方法. 一.下载zxing的架包,并导 ...
随机推荐
- python进行爬虫
使用python进行网络爬虫 非结构画数据 转为 结构化数据.需要借助ETL(数据抽取,转换,存储)进行. 非结构化数据蕴含着丰富的价值.需要借助ETL进行转换成结构化数据,才能变成有价值的数据.比如 ...
- How to fix the bug “Expected "required", "optional", or "repeated".”?
参考:https://github.com/tensorflow/models/issues/1834 You need to download protoc version 3.3 (already ...
- 1.3.7、CDH 搭建Hadoop在安装之前(端口---第三方组件使用的端口)
第三方组件使用的端口 在下表中,每个端口的“ 访问要求”列通常是“内部”或“外部”.在此上下文中,“内部”表示端口仅用于组件之间的通信; “外部”表示该端口可用于内部或外部通信. Component ...
- iostat磁盘监控工具
安装iostat磁盘监控工具 1.安装 yum install sysstat 2.运行 iostat -k -d -x 1 10 -k:以kb为单位统计 -d:显示磁盘状态 -x:显示详细信息 1: ...
- python全栈 字典数据类型相关知识及操作
python 全栈开发 一.字典 1. 字典的概念: 字典 : dict 用 {} 来表示, 键位值数据. { key , value } 具有唯一性. 键:都必须是可哈希的 不可变 ...
- CentOS服务器,大访问量会造成日志文件迅速增大,半年左右得清除一下
今天早上一打开QQ,一大群客户说我的网站登录不了,谷歌了一下,原来是服务器不能存储SESSION.后来问一下服务器托管商,被告知我的VPS运行的时间太久并且访问量很大,因此访问日志爆满. 服务器托管商 ...
- 无法连接mysql,请检查mysql是否已启动及用户密码是否设置正确
安装好后,登录后台提示 无法连接mysql,请检查mysql是否已启动及用户密码是否设置正确 检查mysql是否启动netstat -lnpt是否有3306端口? 一 有A 检查/www/wdlinu ...
- ELK Deployed
Enviroment prepare rpm -qa | grep java wget http://download.oracle.com/otn-pub/java/jdk/8u171-b11/51 ...
- 第四章 栈与队列(c2)栈应用:括号匹配
- C/C++中#pragma once的使用
在C/C++中,为了避免同一个文件被include多次,有两种方式:一种是#ifndef方式,一种是#pragma once方式(在头文件的最开始加入). #ifndef SOME_UNIQUE_NA ...