基础方法:

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);
}

个性二维码开源专题<替换定位点>-LMLPHP

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;

个性二维码开源专题&lt;替换定位点&gt;-LMLPHP

this.ChangeFixedShape(Backbrush, new SolidBrush(Color.Red), g, EN_FillShape.FillHeart, EN_FillShape.FillPeach, new FillShape(), new FillShape(), true);

个性二维码开源专题&lt;替换定位点&gt;-LMLPHP

this.ChangeFixedShape(Backbrush, new SolidBrush(Color.Red), g, EN_FillShape.FillPeach, EN_FillShape.FillHeart, new FillShape(), new FillShape(), true);

个性二维码开源专题&lt;替换定位点&gt;-LMLPHP

this.ChangeFixedShape(Backbrush, new SolidBrush(Color.Red), g, EN_FillShape.FillHeart, EN_FillShape.FillHeart, new FillShape(), new FillShape(), true);

个性二维码开源专题&lt;替换定位点&gt;-LMLPHP

this.ChangeFixedShape(Backbrush, new SolidBrush(Color.Blue), g, EN_FillShape.FillPolygon, EN_FillShape.FillDiamond, new FillShape() { pointed=}, new FillShape(), true);

个性二维码开源专题&lt;替换定位点&gt;-LMLPHP

个性二维码开源专题<替换定位点>,在此介绍完毕了,谢谢大家的观看与支持。

以下是开源地址,国外github,国内oschina.net

oschina.net:

http://git.oschina.net/cheng5x/Yc.QrCode

github:

https://github.com/cheng5x/YcQrCode

官方网站:
http://original-ad.com

码晒客讨论QQ群:
28629273

04-26 17:56