基础方法:
ChangeFillShape
//修改填充形状
ChangeFillShape(...)
// 摘要:
// 修改填充形状
//
// 参数:
// g:
// 图形画板
//
// Forebrush:
// 填充色
//
// rect:
// 区域
//
// en_fillshape:
// 填充形状枚举
//
// fillshpape:
// 填充形状参数
//
// Backbrush:
// 背景色
//
// isOutside:
// 是否外修改
public Graphics ChangeFillShape(Graphics g, Brush Forebrush, Rectangle rect, EN_FillShape en_fillshape, FillShape fillshpape, Brush Backbrush, bool isOutside = false);
ChangeFixedShape
//修改定位点
ChangeFixedShape(...)
//
// 摘要:
// 修改定位方形
//
// 参数:
// en_FixedShape:
// 定位方形枚举
//
// g:
// 图形画板
//
// Forebrush:
// 填充色
//
// rect:
// 区域
//
// en_fillshape:
// 填充形状枚举
//
// fillshpape:
// 填充形状参数
//
// Backbrush:
// 背景色
//
// x:
// X
//
// y:
// Y
//
// isOutside:
// 是否外修改
public Graphics ChangeFixedShape(EN_FixedShape en_FixedShape, Graphics g, Brush Forebrush, Rectangle rect, EN_FillShape en_fillshape, FillShape fillshpape, Brush Backbrush, int x, int y, bool isOutside = false);
1、重绘定位点
if (matrix[j][i])
{
ChangeFillShape(g, Forebrush, rect, EN_FillShape.FillRectangle, new FillShape(), Forebrush); //重绘定位框
ChangeFixedShape(EN_FixedShape.Fixed1, g, Backbrush, rect, EN_FillShape.FillRectangle, new FillShape(), Backbrush, j, i);
ChangeFixedShape(EN_FixedShape.Fixed2, g, Backbrush, rect, EN_FillShape.FillRectangle, new FillShape(), Backbrush, j, i);
ChangeFixedShape(EN_FixedShape.Fixed3, g, Backbrush, rect, EN_FillShape.FillRectangle, new FillShape(), Backbrush, j, i);
}
else
{
ChangeFillShape(g, Backbrush, rect, EN_FillShape.FillRectangle, new FillShape(), Backbrush);
}
2、修改定位点
for (int i = ; i < matrix.Length; i++)
{
for (int j = ; j < matrix.Length; j++)
{
rect = new Rectangle((j + this.SpacingW) * QrCodeEncoder.QRCodeScale, (i + this.SpacingH) * QrCodeEncoder.QRCodeScale, QrCodeEncoder.QRCodeScale, QrCodeEncoder.QRCodeScale);
if (matrix[j][i])
{
ChangeFillShape(g, Forebrush, rect, EN_FillShape.FillRectangle, new FillShape(), Forebrush); //重绘定位框
ChangeFixedShape(EN_FixedShape.Fixed1, g, Backbrush, rect, EN_FillShape.FillRectangle, new FillShape(), Backbrush, j, i);
ChangeFixedShape(EN_FixedShape.Fixed2, g, Backbrush, rect, EN_FillShape.FillRectangle, new FillShape(), Backbrush, j, i);
ChangeFixedShape(EN_FixedShape.Fixed3, g, Backbrush, rect, EN_FillShape.FillRectangle, new FillShape(), Backbrush, j, i);
}
else
{
ChangeFillShape(g, Backbrush, rect, EN_FillShape.FillRectangle, new FillShape(), Backbrush);
}
}
}
this.ChangeFixedShape(Backbrush, Forebrush, g, EN_FillShape.FillPeach, EN_FillShape.FillPeach, new FillShape(), new FillShape(), true);
return image;
this.ChangeFixedShape(Backbrush, new SolidBrush(Color.Red), g, EN_FillShape.FillHeart, EN_FillShape.FillPeach, new FillShape(), new FillShape(), true);
this.ChangeFixedShape(Backbrush, new SolidBrush(Color.Red), g, EN_FillShape.FillPeach, EN_FillShape.FillHeart, new FillShape(), new FillShape(), true);
this.ChangeFixedShape(Backbrush, new SolidBrush(Color.Red), g, EN_FillShape.FillHeart, EN_FillShape.FillHeart, new FillShape(), new FillShape(), true);
this.ChangeFixedShape(Backbrush, new SolidBrush(Color.Blue), g, EN_FillShape.FillPolygon, EN_FillShape.FillDiamond, new FillShape() { pointed=}, new FillShape(), true);
个性二维码开源专题<替换定位点>,在此介绍完毕了,谢谢大家的观看与支持。
以下是开源地址,国外github,国内oschina.net
oschina.net:
http://git.oschina.net/cheng5x/Yc.QrCode
github:
https://github.com/cheng5x/YcQrCode
码晒客讨论QQ群:
28629273