个性二维码开源专题

时间:2023-02-09 18:20:02

基础方法:

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);
View Code

 

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);
View Code

 

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

个性二维码开源专题

 

2、修改定位点

个性二维码开源专题个性二维码开源专题
            for (int i = 0; i < matrix.Length; i++)
            {
                for (int j = 0; 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;
View Code

个性二维码开源专题

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=5}, new FillShape(), true);

个性二维码开源专题

 

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

 

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

oschina.net:

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

 

github:

https://github.com/cheng5x/YcQrCode

 

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

码晒客讨论QQ群:
28629273