个性二维码开源专题<液化/圆角/效果>

基础方法:

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

//液化方法
InkPaint(...)

        //
        // 摘要:
        //     液化样式
        //
        // 参数:
        //   matrix:
        //     矩阵
        //
        //   i:
        //     i
        //
        //   j:
        //     j
        //
        //   rect:
        //     局域
        //
        //   radius:
        //     半径
        //
        //   isFore:
        //     填充样式(true:填充,false:背景)
        public FillShape InkPaint(bool[][] matrix, int i, int j, Rectangle rect, int radius, bool isFore);

//圆角样式
            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, new SolidBrush(Color.Blue), rect, EN_FillShape.FillRoundRectangle, new FillShape() { radius = 5, roundStyle = RoundStyle.All }, Backbrush);
                    }
                    else
                    {
                        ChangeFillShape(g, Backbrush, rect, EN_FillShape.FillRectangle, new FillShape(), Backbrush);

                    }
                }
            }

//修改radius 值
ChangeFillShape(g, new SolidBrush(Color.Blue), rect, EN_FillShape.FillRoundRectangle, new FillShape() { radius = 50, roundStyle = RoundStyle.All }, Backbrush);

//液化样式
            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);

                        FillShape _fillShape = new FillShape();
                        _fillShape = InkPaint(matrix, i, j, rect, 100, true);
                        ChangeFillShape(g, Forebrush, rect, EN_FillShape.FillRoundRectangle, _fillShape, Backbrush);
                    }
                    else
                    {
                        ChangeFillShape(g, Backbrush, rect, EN_FillShape.FillRectangle, new FillShape(), Backbrush);

                        //FillShape _fillShape = new FillShape();
                        //_fillShape = InkPaint(matrix, i, j, rect, 100, false);
                        //ChangeFillShape(g, Backbrush, rect, EN_FillShape.FillRoundRectangle, _fillShape, Forebrush);//注意:液化背景色传入填充色ForeBrush
                    }
                }
            }

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

                        FillShape _fillShape = new FillShape();
                        _fillShape = InkPaint(matrix, i, j, rect, 100, true);
                        ChangeFillShape(g, Forebrush, rect, EN_FillShape.FillRoundRectangle, _fillShape, Backbrush);
                    }
                    else
                    {
                        //ChangeFillShape(g, Backbrush, rect, EN_FillShape.FillRectangle, new FillShape(), Backbrush);

                        FillShape _fillShape = new FillShape();
                        _fillShape = InkPaint(matrix, i, j, rect, 100, false);
                        ChangeFillShape(g, Backbrush, rect, EN_FillShape.FillRoundRectangle, _fillShape, Forebrush);//注意:液化背景色传入填充色ForeBrush
                    }
                }
            }

个性二维码开源专题<液化/圆角/效果>,在此介绍完毕了,谢谢大家的观看与支持。

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

oschina.net:

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

github:

https://github.com/cheng5x/YcQrCode

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

码晒客讨论QQ群:
28629273

个性二维码开源专题<液化/圆角/效果>

时间: 2024-11-08 23:25:17

个性二维码开源专题<液化/圆角/效果>的相关文章

个性二维码开源专题&lt;前背景&gt;

//设置图片资源         private Image imgAgo;        public override void SetParam()         {            base.SetParam();            // 读取前背景             string _imagePath = Environment.CurrentDirectory + @"\QrCodeModel\Images\Angry_Birds\boom.png";  

个性二维码开源专题 目录

目录 个性二维码开源专题<前序> 个性二维码开源专题<介绍篇> 个性二维码开源专题<基础篇> 个性二维码开源专题<替换元素点> 个性二维码开源专题<替换定位点> 个性二维码开源专题<液化/圆角/效果> 个性二维码开源专题<前背景> 个性二维码开源专题<后背景> 个性二维码开源专题<套入模版> . . . 个性二维码开源专题 目录,布布扣,bubuko.com

个性二维码开源专题&lt;基础篇&gt;

二维码原理介绍: 二维码为什么是黑白相间的?黑色表示二进制的"1",白色表示二进制的"0" "我们之所以对二维码进行扫描能读出那么多信息,就是因为这些信息被编入了二维码之中."黄海平说,"制作二维码输入的信息可以分成三类,文本信息,比如名片信息:字符信息,比如网址.电话号码:还有图片信息,甚至还可以包括简短的视频."数据信息是怎么被编入的呢?信息输入后,首先要选择一种信息编码的码制.现在常见的二维码都是以QR码作为编码的码制.

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

基础方法: ChangeFillShape //修改填充形状 ChangeFillShape(...) // 摘要: // 修改填充形状 // // 参数: // g: // 图形画板 // // Forebrush: // 填充色 // // rect: // 区域 // // en_fillshape: // 填充形状枚举 // // fillshpape: // 填充形状参数 // // Backbrush: // 背景色 // // isOutside: // 是否外修改 public

个性二维码开源专题&lt;介绍篇&gt;

由C#编写的个性二维码底层,已应用到 码晒客/疯狂创意二维码等项目上,并获得多项软件著作专利. 疯狂创意二维码 疯狂创意二维码是可用于生成风格独特的个性化二维码生成器,用户可以将目标信息输入到二维码生成器中,生成相应的个性二维码,然后输出为相应图片格式并保存.输入信息可以是:数字.网址.文字.微信.微博以及名片信息等,用户可以将想要生成二维码的信息批量导入,进行自动化批量生成导出处理. 码晒客 码晒客,由元创信息科技倾力打造,中国首款二维码个性制作神器,史上最能晒的二维码制作软件.该软件具备自动

即将开源,码晒客/疯狂创意二维码,个性二维码底层。

二维码: 二维码(Two-dimensional code),又称二维条码,它是用特定的几何图形按一定规律在平面(二维方向)上分布的黑白相间的图形,是所有信息数据的一把钥匙.在现代商业活动中,可实现的应用十分广泛,如:产品防伪/溯源.广告推送.网站链接.数据下载.商品交易.定位/导航.电子凭证.车辆管理.信息传递.名片交流.wifi共享等.如今智能手机扫一扫(简称313)功能的应用使得二维码更加普遍. 二维条码(二维码)是用某种特定的几何图形按一定规律在平面(二维方向)分布的黑白相间的图形记录数

微信公众平台开发教程(六)获取个性二维码

微信公众平台开发教程(六)获取个性二维码 一.功能介绍 在进行推广时,我们可以告诉对方,我们的微信公众账号是什么,客户可以去搜索,然后关注.二维码给我们提供了极大的便捷,只要简单一扫描,即可关注. 如果已经关注过,立刻跳入对话画面.在我们进行推广时,不再是简陋的文字,可以是一个有个性的二维码,想必会很生动. 微信对二维码提供了很好的支持,而且还可以根据需要生成不同场景的二维码.下面我们将介绍如何获取和使用二维码. 注意:限服务号,且进行了微信认证,费用300 二.相关接口 为了满足用户渠道推广分

Android二维码开源项目zxing用例简化和生成二维码、条形码

上一篇讲到:Android二维码开源项目zxing编译,编译出来后有一个自带的测试程序:CaptureActivity比较复杂,我只要是把一些不用的东西去掉,用看起来更方便,二维码和条形码的流行性自不必说了. 自带的例子,目录结构如下: 修改后的程序目录结构,去掉了很多功能,如果分享.设置等. 先上效果图          扫描ZXing生成的条形码和二维码结果 扫描界面 扫描商品的条码 整个程序只修改了以下两个类,其它都是直接从原来的Demo中复制出来的 生成二维码的代码 /** * 生成二维

免费在线生成彩色带logo的个性二维码

码工具网站提供免费的在线二维码生成服务,可以把网址.文本.电子邮件.短信.电话号码.电子名片.wifi网络等信息生成对应的二维码图片.你可以设置二维码图片的格式(png,jpg,gif).容错率.图片大小.颜色和LOGO图片等.该工具使用起来简单.便捷.功能强大. 即使你不是程序员,不会ps技术,也可以在线制作出来有创意的二维码,把普通黑白二维码在线设计的更加创意,更加个性,更加美化,把微信二维码编辑的更加创意吸引粉丝,做一个动态二维码名片更吸引客户用. 网站地址:http://www.mato