当前位置: 首页 > news >正文

东莞公司网站做优化做企业网站的合同

东莞公司网站做优化,做企业网站的合同,0基础建站网站搭建教程,如何做分销型网站本文介绍在 C# 中使用 ThoughtWorks.QRCode.dll 生成指定尺寸和边框宽度的二维码。网上文章大多只是简单介绍内置参数的设置#xff0c;根据我的使用目的#xff0c;增加了自定义目标二维码图片尺寸和白边边框。有需要的朋友们可以试一下#xff0c;如有bug欢迎指正。 首先根据我的使用目的增加了自定义目标二维码图片尺寸和白边边框。有需要的朋友们可以试一下如有bug欢迎指正。  首先将 ThoughtWorks.QRCode.dll 放在 bin 目录后在页面中引用 using ThoughtWorks.QRCode.Codec; 生成二维码图片 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 /// summary /// 生成二维码 /// /summary /// param nameContent内容文本/param /// param nameQRCodeEncodeMode二维码编码方式/param /// param nameQRCodeErrorCorrect纠错码等级/param /// param nameQRCodeVersion二维码版本号 0-40/param /// param nameQRCodeScale每个小方格的预设宽度像素正整数/param /// param namesize图片尺寸像素0表示不设置/param /// param nameborder图片白边像素当size大于0时有效/param /// returns/returns public System.Drawing.Image CreateQRCode(string Content, QRCodeEncoder.ENCODE_MODE QRCodeEncodeMode, QRCodeEncoder.ERROR_CORRECTION QRCodeErrorCorrect, int QRCodeVersion, int QRCodeScale, int size, int border) {     QRCodeEncoder qrCodeEncoder  new QRCodeEncoder();     qrCodeEncoder.QRCodeEncodeMode QRCodeEncodeMode;     qrCodeEncoder.QRCodeErrorCorrect QRCodeErrorCorrect;     qrCodeEncoder.QRCodeScale QRCodeScale;     qrCodeEncoder.QRCodeVersion QRCodeVersion;     System.Drawing.Image image qrCodeEncoder.Encode(Content);            #region 根据设定的目标图片尺寸调整二维码QRCodeScale设置并添加边框     if (size 0)     {         //当设定目标图片尺寸大于生成的尺寸时逐步增大方格尺寸         #region 当设定目标图片尺寸大于生成的尺寸时逐步增大方格尺寸         while (image.Width size)         {             qrCodeEncoder.QRCodeScale;             System.Drawing.Image imageNew qrCodeEncoder.Encode(Content);             if (imageNew.Width size)             {                 image  new System.Drawing.Bitmap(imageNew);                 imageNew.Dispose();                 imageNew  null;             }             else             {                 qrCodeEncoder.QRCodeScale--; //新尺寸未采用恢复最终使用的尺寸                 imageNew.Dispose();                 imageNew  null;                 break;             }         }         #endregion                    //当设定目标图片尺寸小于生成的尺寸时逐步减小方格尺寸         #region 当设定目标图片尺寸小于生成的尺寸时逐步减小方格尺寸         while (image.Width size qrCodeEncoder.QRCodeScale 1)         {             qrCodeEncoder.QRCodeScale--;             System.Drawing.Image imageNew qrCodeEncoder.Encode(Content);             image  new System.Drawing.Bitmap(imageNew);             imageNew.Dispose();             imageNew  null;             if (image.Width size)             {                 break;             }         }         #endregion                    //如果目标尺寸大于生成的图片尺寸则为图片增加白边         #region 如果目标尺寸大于生成的图片尺寸则为图片增加白边         if (image.Width size)         {             //根据参数设置二维码图片白边的最小宽度             #region 根据参数设置二维码图片白边的最小宽度             if (border 0)             {                 while (image.Width size size - image.Width border * 2 qrCodeEncoder.QRCodeScale 1)                 {                     qrCodeEncoder.QRCodeScale--;                     System.Drawing.Image imageNew qrCodeEncoder.Encode(Content);                     image  new System.Drawing.Bitmap(imageNew);                     imageNew.Dispose();                     imageNew  null;                 }             }             #endregion                //当目标图片尺寸大于二维码尺寸时将二维码绘制在目标尺寸白色画布的中心位置             if (image.Width size)             {                 //新建空白绘图                 System.Drawing.Bitmap panel  new System.Drawing.Bitmap(size, size);                 System.Drawing.Graphics graphic0 System.Drawing.Graphics.FromImage(panel);                 int p_left 0;                 int p_top 0;                 if (image.Width size) //如果原图比目标形状宽                 {                     p_left (size - image.Width) / 2;                 }                 if (image.Height size)                 {                     p_top (size - image.Height) / 2;                 }                                    //将生成的二维码图像粘贴至绘图的中心位置                 graphic0.DrawImage(image, p_left, p_top, image.Width, image.Height);                 image  new System.Drawing.Bitmap(panel);                 panel.Dispose();                 panel  null;                 graphic0.Dispose();                 graphic0  null;             }         }         #endregion     }     #endregion     return image; }    private static bool IsTrue() // 在Image类别对图片进行缩放的时候,需要一个返回bool类别的委托 {     return true; }  在aspx页面调用和输出为图片流 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 string content  string.IsNullOrEmpty(Request.QueryString[txt]) ? http://www.lenashane.com/ : Request.QueryString[txt]; int size Convert.ToInt32(string.IsNullOrEmpty(Request.QueryString[size]) ? 200 : Request.QueryString[size]); int border Convert.ToInt32(string.IsNullOrEmpty(Request.QueryString[border]) ? 10 : Request.QueryString[border]);    System.Drawing.Image image CreateQRCode(content,     QRCodeEncoder.ENCODE_MODE.BYTE,     QRCodeEncoder.ERROR_CORRECTION.M,     0,     5,     size,     border);    //将图片输出到页面 System.IO.MemoryStream ms  new System.IO.MemoryStream(); image.Save(ms, System.Drawing.Imaging.ImageFormat.Png); HttpContext.Current.Response.ClearContent(); HttpContext.Current.Response.ContentType  image/Png; HttpContext.Current.Response.OutputStream.Write(ms.ToArray(), 0, ms.ToArray().Length); HttpContext.Current.Response.End();    ms.Close(); ms  null; image.Dispose(); image  null;   生成二维码方法增加定位点着色参数System.Drawing.Color效果如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 /// summary /// 生成二维码 /// /summary /// param nameContent内容文本/param /// param nameQRCodeEncodeMode二维码编码方式/param /// param nameQRCodeErrorCorrect纠错码等级/param /// param nameQRCodeVersion二维码版本号 0-40/param /// param nameQRCodeScale每个小方格的预设宽度像素正整数/param /// param namesize图片尺寸像素0表示不设置/param /// param nameborder图片白边像素当size大于0时有效/param /// returns/returns public System.Drawing.Image CreateQRCode(string Content, QRCodeEncoder.ENCODE_MODE QRCodeEncodeMode, QRCodeEncoder.ERROR_CORRECTION QRCodeErrorCorrect, int QRCodeVersion, int QRCodeScale, int size, int border, Color codeEyeColor) {     QRCodeEncoder qrCodeEncoder  new QRCodeEncoder();     qrCodeEncoder.QRCodeEncodeMode QRCodeEncodeMode;     qrCodeEncoder.QRCodeErrorCorrect QRCodeErrorCorrect;     qrCodeEncoder.QRCodeScale QRCodeScale;     qrCodeEncoder.QRCodeVersion QRCodeVersion;            System.Drawing.Image image qrCodeEncoder.Encode(Content);            #region 根据设定的目标图片尺寸调整二维码QRCodeScale设置并添加边框     if (size 0)     {         //当设定目标图片尺寸大于生成的尺寸时逐步增大方格尺寸         #region 当设定目标图片尺寸大于生成的尺寸时逐步增大方格尺寸         while (image.Width size)         {             qrCodeEncoder.QRCodeScale;             System.Drawing.Image imageNew qrCodeEncoder.Encode(Content);             if (imageNew.Width size)             {                 image  new System.Drawing.Bitmap(imageNew);                 imageNew.Dispose();                 imageNew  null;             }             else             {                 qrCodeEncoder.QRCodeScale--; //新尺寸未采用恢复最终使用的尺寸                 imageNew.Dispose();                 imageNew  null;                 break;             }         }         #endregion                    //当设定目标图片尺寸小于生成的尺寸时逐步减小方格尺寸         #region 当设定目标图片尺寸小于生成的尺寸时逐步减小方格尺寸         while (image.Width size qrCodeEncoder.QRCodeScale 1)         {             qrCodeEncoder.QRCodeScale--;             System.Drawing.Image imageNew qrCodeEncoder.Encode(Content);             image  new System.Drawing.Bitmap(imageNew);             imageNew.Dispose();             imageNew  null;             if (image.Width size)             {                 break;             }         }         #endregion            //根据参数设置二维码图片白边的最小宽度按需缩小         #region 根据参数设置二维码图片白边的最小宽度         if (image.Width size border 0)         {             while (image.Width size size - image.Width border * 2 qrCodeEncoder.QRCodeScale 1)             {                 qrCodeEncoder.QRCodeScale--;                 System.Drawing.Image imageNew qrCodeEncoder.Encode(Content);                 image  new System.Drawing.Bitmap(imageNew);                 imageNew.Dispose();                 imageNew  null;             }         }         #endregion                    //已经确认二维码图像为图像染色修饰         if (true)         {             //定位点方块边长             int beSize qrCodeEncoder.QRCodeScale * 3;                            int bep1_l qrCodeEncoder.QRCodeScale * 2;             int bep1_t qrCodeEncoder.QRCodeScale * 2;                            int bep2_l image.Width - qrCodeEncoder.QRCodeScale * 5 - 1;             int bep2_t qrCodeEncoder.QRCodeScale * 2;                            int bep3_l qrCodeEncoder.QRCodeScale * 2;             int bep3_t image.Height - qrCodeEncoder.QRCodeScale * 5 - 1;                            int bep4_l image.Width - qrCodeEncoder.QRCodeScale * 7 - 1;             int bep4_t image.Height - qrCodeEncoder.QRCodeScale * 7 - 1;                            System.Drawing.Graphics graphic0 System.Drawing.Graphics.FromImage(image);                            // Create solid brush.             SolidBrush blueBrush  new SolidBrush(codeEyeColor);                            // Fill rectangle to screen.             graphic0.FillRectangle(blueBrush, bep1_l, bep1_t, beSize, beSize);             graphic0.FillRectangle(blueBrush, bep2_l, bep2_t, beSize, beSize);             graphic0.FillRectangle(blueBrush, bep3_l, bep3_t, beSize, beSize);             graphic0.FillRectangle(blueBrush, bep4_l, bep4_t, qrCodeEncoder.QRCodeScale, qrCodeEncoder.QRCodeScale);         }                    //当目标图片尺寸大于二维码尺寸时将二维码绘制在目标尺寸白色画布的中心位置         #region 如果目标尺寸大于生成的图片尺寸将二维码绘制在目标尺寸白色画布的中心位置         if (image.Width size)         {             //新建空白绘图             System.Drawing.Bitmap panel  new System.Drawing.Bitmap(size, size);             System.Drawing.Graphics graphic0 System.Drawing.Graphics.FromImage(panel);             int p_left 0;             int p_top 0;             if (image.Width size) //如果原图比目标形状宽             {                 p_left (size - image.Width) / 2;             }             if (image.Height size)             {                 p_top (size - image.Height) / 2;             }                            //将生成的二维码图像粘贴至绘图的中心位置             graphic0.DrawImage(image, p_left, p_top, image.Width, image.Height);             image  new System.Drawing.Bitmap(panel);             panel.Dispose();             panel  null;             graphic0.Dispose();             graphic0  null;         }         #endregion     }     #endregion     return image; }     分类: ASP.NET 本文转自左正博客园博客原文链接http://www.cnblogs.com/soundcode/p/7458375.html如需转载请自行联系原作者
http://www.zqtcl.cn/news/939282/

相关文章:

  • 电信网站备案查询系统wordpress搜插件错误
  • 忻州企业网站建设房地产 网站 设计制作
  • 重庆水务建设项目集团网站中国十大公司排行榜
  • 做网站服务器需要系统app程序定制开发
  • 宁波网站推广营销公司wordpress插件转php
  • wordpress网站生成app应用制作广告的软件
  • 网站建设多久可以建成淘宝建设网站首页
  • 东营市做网站什么是网络营销道德
  • asp评价网站开发文档安卓软件app
  • phpcms旅游网站模板辽宁建设工程信息网开标大厅我的项目中没有显示
  • 深圳网站建设方维网络建设一个网站报价
  • 北京网站建设 案例邢台微商城制作设计
  • 网站开发一般都有系统wordpress评论优化
  • 网站建设找好景科技山东关键词网络推广
  • 网科创想网站管理外贸网站推广和建站
  • 唐山企业网站模板建站动物自己做的网站
  • 旅游攻略网站开发外包网站开发公司
  • 免得做网站wordpress国内主机
  • 绍兴网站建设方案报价朗格手表网站
  • 建立自己公司网站的方法南京网站制作多少钱
  • 字形分析网站做自媒体查找素材的网站
  • 做网站建设的上市公司有哪些网站源码怎么预览
  • 怎么学做电子商务网站知果果网站谁做的
  • 网站软文推广网站wordpress建站教程第六节
  • 公司制作网站多少钱移动端网站建设的请示
  • 做网站 对方传销廊坊网站备案
  • 1688网站链接图片怎么做wordpress 饭店主题
  • 人事怎么做招聘网站比对分析教育机构网站开发
  • 抚顺市+网站建设做网站用apache还是nginx
  • 群晖ds216j能否做网站百度收录官网