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

做单页购物网站用什么好做网站常用的套件

做单页购物网站用什么好,做网站常用的套件,淘宝客网站容易做吗,功能点计算方法 网站开发目录 需求 开发运行环境 方法设计 实现代码 AddText方法 图片转Base64 调用示例 小结 需求 在我们的一些发布系统项目应用中#xff0c;会经常发布一些链接图标#xff0c;该图标基本上以模板背景为主#xff0c;并填充项目文字内容。解决方式一般会让美工进行制作…目录 需求 开发运行环境 方法设计 实现代码 AddText方法 图片转Base64 调用示例  小结 需求 在我们的一些发布系统项目应用中会经常发布一些链接图标该图标基本上以模板背景为主并填充项目文字内容。解决方式一般会让美工进行制作处理但当模板化以后问题的焦点则集中在文字的显示上因些利用程序控制文字自动填充模板背景图片可以自动化的解决需求。 比如有如下模板 1纯色模板 2图片模板 如以上的模板我们需要在指定的区域填充文字比如项目名称、课程标题等等简单的描述就是随着文字的增多而将字体变小和折行。 如上图中标题文字增加则显示如下 开发运行环境 操作系统 Windows Server 2019 DataCenter .net版本 .netFramework4.0 或以上 开发工具VS2019  C# 方法设计 设计 AddText 方法返回 System.Drawing.Bitmap 对象设计如下表 序号参数类型说明1imgPathstring模板图片文件路径2saveImgPathstring可导出的成品图片文件路径3baselenint标题基础计算长度一般传递标题的总长度.Length4locationLeftTopstring 文字输出区域的左上角坐标 Left: x1 Top: y1 参数形式以逗号分隔如20,1005locationRightBottomstring 文字输出区域的右下角坐标 Right: x2 Bottom: y2 参数形式以逗号分隔如120,2006textstring要写入的文字内容7fontNamestring字体非必传项默认为 华文行楷 请注意前6个参数为必填写项且 locationLeftTop 和 locationRightBottom 请传递合理的数值。 实现代码 AddText方法 public System.Drawing.Bitmap AddText(string imgPath,string saveImgPath,int baselen, string locationLeftTop, string locationRightBottom, string text, string fontName 华文行楷) {System.Drawing.Image img System.Drawing.Image.FromFile(imgPath);int width img.Width;int height img.Height;System.Drawing.Bitmap bmp new System.Drawing.Bitmap(width, height);System.Drawing.Graphics graph System.Drawing.Graphics.FromImage(bmp);// 计算文字区域// 左上角string[] location locationLeftTop.Split(,);float x1 float.Parse(location[0]);float y1 float.Parse(location[1]);// 右下角location locationRightBottom.Split(,);float x2 float.Parse(location[0]);float y2 float.Parse(location[1]);// 区域宽高float fontWidth x2 - x1;float fontHeight y2 - y1;float fontSize fontHeight; // 初次估计先用文字区域高度作为文字字体大小后面再做调整单位为pxSystem.Drawing.Font font new System.Drawing.Font(fontName,18, System.Drawing.GraphicsUnit.Pixel);System.Drawing.SizeF sf graph.MeasureString(text, font);// 最终的得出的字体所占区域一般不会刚好等于实际区域// 所以根据两个区域的相差之处再把文字开始位置(左上角定位)稍微调整一下string title text;text ;int gs title.Length / baselen;if (title.Length % baselen ! 0){gs;}string[] lines new string[gs];int startpos 0;for (int i 0; i gs; i){int len title.Length baselen ? title.Length : baselen;lines[i] title.Substring(0, len);startpos len;title title.Substring(len);text lines[i] \r\n;}x1 (fontWidth - sf.Width) / 2;y1 (fontHeight - sf.Height) / 2;x1 (width - baselen * 18) / 2;y1 (height - lines.Length * 18) / 2;graph.DrawImage(img, 0, 0, width, height);graph.DrawString(text, font, new System.Drawing.SolidBrush(System.Drawing.Color.White), x1, y1);graph.Dispose();img.Dispose();bmp.Save(saveImgPath,System.Drawing.Imaging.ImageFormat.Jpeg);return bmp; }图片转Base64 public string ImgToBase64String(string Imagefilename,bool outFullStringfalse){try{System.Drawing.Bitmap bmp new System.Drawing.Bitmap(Imagefilename);MemoryStream ms new MemoryStream();// bmp.Save(ms,ImageFormat.Jpeg)System.Drawing.Imaging.ImageFormat iformat System.Drawing.Imaging.ImageFormat.Jpeg;string extension System.IO.Path.GetExtension(Imagefilename).Replace(., ).ToLower();if (extension bmp){iformat System.Drawing.Imaging.ImageFormat.Bmp;}else if (extension emf){iformat System.Drawing.Imaging.ImageFormat.Emf;}else if (extension exif){iformat System.Drawing.Imaging.ImageFormat.Exif;}else if (extension gif){iformat System.Drawing.Imaging.ImageFormat.Gif;}else if (extension icon){iformat System.Drawing.Imaging.ImageFormat.Icon;}else if (extension png){iformat System.Drawing.Imaging.ImageFormat.Png;}else if (extension tiff){iformat System.Drawing.Imaging.ImageFormat.Tiff;}else if (extension wmf){iformat System.Drawing.Imaging.ImageFormat.Wmf;}bmp.Save(ms, iformat);byte[] arr new byte[ms.Length];ms.Position 0;ms.Read(arr, 0, (int)ms.Length);ms.Close();bmp.Dispose();string rvConvert.ToBase64String(arr);if (outFullString true){rv data:image/ extension ;base64, rv;}return rv;}catch (Exception ex){return null;}}请注意 bool outFullStringfalse默认为false表示输出纯Base64编码。 如果直接作用于Image对象的 ImageUrl则需要设置为true。即在生成结果前加上 data:image/jpeg;base64, base64 字样。 调用示例  void Page_load(Object sender, EventArgs e){string path D:\\website\\test\\;string title数据库存储过程从入门到精通;int baselen title.Length;string x1_y10,0;string x2_y2240,80;AddText(path bg.bmp, path bg2.jpg, baselen, x1_y1, x2_y2, title);Image1.ImageUrl ImgToBase64String(path bg2.jpg, true);} 其中 Image1 为 Asp.net WebUI 中的 Image 对象。  小结 本方法同时输出 saveImgPath 目标成品文件路径和返回Bitmap对象saveImgPath 为必填参数。我们可以根据实际需要进行后续处理和改造。 方法理论上可以无限填充但考虑实际效果对文本内容的长度还是要有一些限制以达到比较理想的显示效果。 感谢您的阅读希望本文能够对您有所帮助。
http://www.zqtcl.cn/news/518103/

相关文章:

  • 专业的网站开发团队京东电商平台
  • 做网站手机微信小程序怎么加入我的小程序
  • 做网站困难吗公司如何注册网站
  • 可信网站认证收费吗建设化工网站的目的
  • 查网站死链必用工具微信 wordpress
  • 做网站凡科新手如何开微商城店
  • 网站空间维护个人怎么注册一个品牌
  • 连云港网站设计城乡建设网站 资料员
  • 网络优化工程师有多累seo前线
  • 囊谦县公司网站建设新沂网页定制
  • 公众平台网页版wordpress换主题影响seo吗
  • 网站建设什么是静态网页设置wordpress文章标题高亮的代码
  • 男女做那事是什 网站wordpress怎么上传ppt
  • 电商网站图片处理东莞网络营销策划
  • 做知识产权相关的网站网站怎么做登录界面
  • 网站空间备份东莞企业网站教程
  • 新桥企业网站建设有关网站建设的毕业设计
  • 中山网站建设工作修改wordpress后台地址
  • 西安app网站开发如何制作一个自己的网页
  • 陇西学做网站鄂州网约车
  • 做类似58类型网站免费源码分享
  • 个人做的网站有什么危险网站模板怎样发布
  • 设计建设网站公司网站wordpress k2
  • 公司网站被抄袭网络宣传
  • 企业网站设计收费专业网络推广公司排名
  • 视频网站模板源码深圳网站建设明细报价表
  • nike官方网站定制二级域名网站有哪些
  • 越秀移动网站建设房门户网站如何做优化
  • 什么软件可以做动漫视频网站开发一个小程序大概要多少钱
  • 微网站可以做成域名访问株洲网站做的好的公司