当前位置: 首页 > 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.pierceye.com/news/518103/

相关文章:

  • 如何备份网站的手机版免费申请微网站
  • 淘宝不允许 网站建设wordpress页面无法编辑器
  • 个人怎么做课程网站seo神马网站推广器
  • 做购物比价的网站有哪些外贸移动商城网站建设
  • 网站开发的特点做直通车任务的网站
  • 分类信息系统网站模板wordpress黑客
  • 推荐一个代做毕业设计的网站云服务器怎么搭建
  • 网站制作计算机电商运营seo
  • 网站关键词分隔符建站用什么工具
  • 广元网站开发兰州电商平台网站建设
  • 网站怎么黑北京广告设计公司排行
  • 番禺网站排名推广优化排名网站开发类标书模板
  • 青海市住房和城乡建设厅网站关于网站建设的合同协议书
  • 中文企业网站模板下载wordpress付费知识
  • 网站设计图能用ps做么襄城县住房和城市建设局网站
  • 汕头市网站建设分站服务机构建设网站费用会计分录
  • 360网站推广wordpress 插件 定时
  • 企业设计网站公司易语言可以做网站嘛
  • 乐昌网站建设wordpress 自动推送
  • 建立自我追求无我什么意思广州网站优化推广
  • 公司介绍网站怎么做的苏州网页制作招聘
  • 天长网站建设黄骅市长
  • 深圳网站维护页面设计WordPress在线留言插件
  • 网站改版的几个建议夜夜夜在线观看
  • 网站开发和 app开发的区别百度推广管家
  • 门窗网站制作宣传语建设一个商城式网站可以吗
  • 网站优化推广公司北京软件开发公司滕迎江
  • 网站建立的连接不安全怎么解决网站如何做数据库
  • 营销型制作网站公司重庆蒲公英网站建设公司
  • 官方网站找工作公众号中国航发网上采购平台