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

广州红鼎网站建设有限公司怎么样wordpress升级数据库

广州红鼎网站建设有限公司怎么样,wordpress升级数据库,做百度推广代运营有用吗,上海百度网站建设前言 需求源自项目中的一些应用#xff0c;比如相册功能#xff0c;通常用户上传相片后我们都会针对该相片再生成一张缩略图#xff0c;用于其它页面上的列表显示。随便看一下#xff0c;大部分网站基本都是将原图等比缩放来生成缩略图。但完美主义者会发现一些问题#…前言 需求源自项目中的一些应用比如相册功能通常用户上传相片后我们都会针对该相片再生成一张缩略图用于其它页面上的列表显示。随便看一下大部分网站基本都是将原图等比缩放来生成缩略图。但完美主义者会发现一些问题比如显示排版时想让相片缩略图列表非常统一、整齐、和美观比如要求每张缩略图大小固定为120 x 90且不拉伸变形怎么办再比如用户头像如何让缩略图比原图更清晰或是如何在上传的图片下加一个半透明的LOGO水印 OK本文根据自己的项目代码描述以上问题的解决方案全部基于.Net Framework类库完成代码中包含了C#图片处理的一些基础知识与大家分享个人能力有限不足之处还请及时指正。 提高缩略图清晰度 (原图200*200,12.3k)(处理后80*80,17.7k) 之前一直认为缩略图不可能比原图清晰直到某天一位产品的同事给我看某网站的效果。于是开始寻找.NET下实现代码仔细观察缩略图确实比原图更清晰了一些但代价是缩略图文件比原图更大所以如果你想让一张占满显示器屏幕的超大图片更清晰那么图片占用空间和网络流量就必需考虑了如果是互联网应用建议缩略图在200像素以内的使用该方法。当然如果哪位有更好的代码即能让图片文件大小变化不大又让图片更清晰还请分享。 图片裁剪 (原图256*192)(裁剪要求100*100) (原图256*192)(裁剪要求90*120) (原图256*192)(裁剪要求120*90) (原图146*256) (裁剪要求100*100)(原图146*256)(裁剪要求90*120) (原图146*256)(裁剪要求120*90) 算法以原图中心作为裁剪中心最大范围的对原图进行裁剪然后对裁剪结果等比缩放。 图片水印 仅演示了效果如需要变更字体、水印透明度、位置等可自行在代码或方法中扩展。 代码 封装了几个通用的方法如发现有BUG或漏洞还请及时指正。 using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Imaging; namespace WuJian.Common { /// summary /// 图片处理类 /// 吴剑 2008-07-02 创建 /// 吴剑 2011-01-21 修改 /// /summary public class PTImage { #region 正方型裁剪并缩放 /// summary /// 正方型裁剪 /// 以图片中心为轴心截取正方型然后等比缩放 /// 用于头像处理 /// /summary /// remarks吴剑 2010-11-23/remarks /// param namepostedFile原图HttpPostedFile对象/param /// param namefileSaveUrl缩略图存放地址/param /// param nameside指定的边长正方型/param /// param namequality质量范围0-100/param public static void CutForSquare(System.Web.HttpPostedFile postedFile, string fileSaveUrl, int side, int quality) { //创建目录 string dir Path.GetDirectoryName(fileSaveUrl); if (!Directory.Exists(dir)) Directory.CreateDirectory(dir); //原始图片获取原始图片创建对象并使用流中嵌入的颜色管理信息 System.Drawing.Image initImage System.Drawing.Image.FromStream(postedFile.InputStream, true); //原图宽高均小于模版不作处理直接保存 if (initImage.Width side initImage.Height side) { initImage.Save(fileSaveUrl, System.Drawing.Imaging.ImageFormat.Jpeg); } else { //原始图片的宽、高 int initWidth initImage.Width; int initHeight initImage.Height; //非正方型先裁剪为正方型 if (initWidth ! initHeight) { //截图对象 System.Drawing.Image pickedImage null; System.Drawing.Graphics pickedG null; //宽大于高的横图 if (initWidth initHeight) { //对象实例化 pickedImage new System.Drawing.Bitmap(initHeight, initHeight); pickedG System.Drawing.Graphics.FromImage(pickedImage); //设置质量 pickedG.InterpolationMode System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; pickedG.SmoothingMode System.Drawing.Drawing2D.SmoothingMode.HighQuality; //定位 Rectangle fromR new Rectangle((initWidth - initHeight) / 2, 0, initHeight, initHeight); Rectangle toR new Rectangle(0, 0, initHeight, initHeight); //画图 pickedG.DrawImage(initImage, toR, fromR, System.Drawing.GraphicsUnit.Pixel); //重置宽 initWidth initHeight; } //高大于宽的竖图 else { //对象实例化 pickedImage new System.Drawing.Bitmap(initWidth, initWidth); pickedG System.Drawing.Graphics.FromImage(pickedImage); //设置质量 pickedG.InterpolationMode System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; pickedG.SmoothingMode System.Drawing.Drawing2D.SmoothingMode.HighQuality; //定位 Rectangle fromR new Rectangle(0, (initHeight - initWidth) / 2, initWidth, initWidth); Rectangle toR new Rectangle(0, 0, initWidth, initWidth); //画图 pickedG.DrawImage(initImage, toR, fromR, System.Drawing.GraphicsUnit.Pixel); //重置高 initHeight initWidth; } //将截图对象赋给原图 initImage (System.Drawing.Image)pickedImage.Clone(); //释放截图资源 pickedG.Dispose(); pickedImage.Dispose(); } //缩略图对象 System.Drawing.Image resultImage new System.Drawing.Bitmap(side, side); System.Drawing.Graphics resultG System.Drawing.Graphics.FromImage(resultImage); //设置质量 resultG.InterpolationMode System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; resultG.SmoothingMode System.Drawing.Drawing2D.SmoothingMode.HighQuality; //用指定背景色清空画布 resultG.Clear(Color.White); //绘制缩略图 resultG.DrawImage(initImage, new System.Drawing.Rectangle(0, 0, side, side), new System.Drawing.Rectangle(0, 0, initWidth, initHeight), System.Drawing.GraphicsUnit.Pixel); //关键质量控制 //获取系统编码类型数组,包含了jpeg,bmp,png,gif,tiff ImageCodecInfo[] icis ImageCodecInfo.GetImageEncoders(); ImageCodecInfo ici null; foreach (ImageCodecInfo i in icis) { if (i.MimeType image/jpeg || i.MimeType image/bmp || i.MimeType image/png || i.MimeType image/gif) { ici i; } } EncoderParameters ep new EncoderParameters(1); ep.Param[0] new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, (long)quality); //保存缩略图 resultImage.Save(fileSaveUrl, ici, ep); //释放关键质量控制所用资源 ep.Dispose(); //释放缩略图资源 resultG.Dispose(); resultImage.Dispose(); //释放原始图片资源 initImage.Dispose(); } } /// summary /// 正方型裁剪 /// 以图片中心为轴心截取正方型然后等比缩放 /// 用于头像处理 /// /summary /// remarks吴剑 2010-11-23/remarks /// param namepostedFile原图HttpPostedFile对象/param /// param namefileSaveUrl缩略图存放地址/param /// param nameside指定的边长正方型/param /// param namequality质量范围0-100/param public static void CutForSquare(System.IO.Stream fromFile, string fileSaveUrl, int side, int quality) { //创建目录 string dir Path.GetDirectoryName(fileSaveUrl); if (!Directory.Exists(dir)) Directory.CreateDirectory(dir); //原始图片获取原始图片创建对象并使用流中嵌入的颜色管理信息 System.Drawing.Image initImage System.Drawing.Image.FromStream(fromFile, true); //原图宽高均小于模版不作处理直接保存 if (initImage.Width side initImage.Height side) { initImage.Save(fileSaveUrl, System.Drawing.Imaging.ImageFormat.Jpeg); } else { //原始图片的宽、高 int initWidth initImage.Width; int initHeight initImage.Height; //非正方型先裁剪为正方型 if (initWidth ! initHeight) { //截图对象 System.Drawing.Image pickedImage null; System.Drawing.Graphics pickedG null; //宽大于高的横图 if (initWidth initHeight) { //对象实例化 pickedImage new System.Drawing.Bitmap(initHeight, initHeight); pickedG System.Drawing.Graphics.FromImage(pickedImage); //设置质量 pickedG.InterpolationMode System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; pickedG.SmoothingMode System.Drawing.Drawing2D.SmoothingMode.HighQuality; //定位 Rectangle fromR new Rectangle((initWidth - initHeight) / 2, 0, initHeight, initHeight); Rectangle toR new Rectangle(0, 0, initHeight, initHeight); //画图 pickedG.DrawImage(initImage, toR, fromR, System.Drawing.GraphicsUnit.Pixel); //重置宽 initWidth initHeight; } //高大于宽的竖图 else { //对象实例化 pickedImage new System.Drawing.Bitmap(initWidth, initWidth); pickedG System.Drawing.Graphics.FromImage(pickedImage); //设置质量 pickedG.InterpolationMode System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; pickedG.SmoothingMode System.Drawing.Drawing2D.SmoothingMode.HighQuality; //定位 Rectangle fromR new Rectangle(0, (initHeight - initWidth) / 2, initWidth, initWidth); Rectangle toR new Rectangle(0, 0, initWidth, initWidth); //画图 pickedG.DrawImage(initImage, toR, fromR, System.Drawing.GraphicsUnit.Pixel); //重置高 initHeight initWidth; } //将截图对象赋给原图 initImage (System.Drawing.Image)pickedImage.Clone(); //释放截图资源 pickedG.Dispose(); pickedImage.Dispose(); } //缩略图对象 System.Drawing.Image resultImage new System.Drawing.Bitmap(side, side); System.Drawing.Graphics resultG System.Drawing.Graphics.FromImage(resultImage); //设置质量 resultG.InterpolationMode System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; resultG.SmoothingMode System.Drawing.Drawing2D.SmoothingMode.HighQuality; //用指定背景色清空画布 resultG.Clear(Color.White); //绘制缩略图 resultG.DrawImage(initImage, new System.Drawing.Rectangle(0, 0, side, side), new System.Drawing.Rectangle(0, 0, initWidth, initHeight), System.Drawing.GraphicsUnit.Pixel); //关键质量控制 //获取系统编码类型数组,包含了jpeg,bmp,png,gif,tiff ImageCodecInfo[] icis ImageCodecInfo.GetImageEncoders(); ImageCodecInfo ici null; foreach (ImageCodecInfo i in icis) { if (i.MimeType image/jpeg || i.MimeType image/bmp || i.MimeType image/png || i.MimeType image/gif) { ici i; } } EncoderParameters ep new EncoderParameters(1); ep.Param[0] new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, (long)quality); //保存缩略图 resultImage.Save(fileSaveUrl, ici, ep); //释放关键质量控制所用资源 ep.Dispose(); //释放缩略图资源 resultG.Dispose(); resultImage.Dispose(); //释放原始图片资源 initImage.Dispose(); } } #endregion #region 固定模版裁剪并缩放 /// summary /// 指定长宽裁剪 /// 按模版比例最大范围的裁剪图片并缩放至模版尺寸 /// /summary /// remarks吴剑 2010-11-15/remarks /// param namepostedFile原图HttpPostedFile对象/param /// param namefileSaveUrl保存路径/param /// param namemaxWidth最大宽(单位:px)/param /// param namemaxHeight最大高(单位:px)/param /// param namequality质量范围0-100/param public static void CutForCustom(System.Web.HttpPostedFile postedFile, string fileSaveUrl, int maxWidth, int maxHeight, int quality) { //从文件获取原始图片并使用流中嵌入的颜色管理信息 System.Drawing.Image initImage System.Drawing.Image.FromStream(postedFile.InputStream, true); //原图宽高均小于模版不作处理直接保存 if (initImage.Width maxWidth initImage.Height maxHeight) { initImage.Save(fileSaveUrl, System.Drawing.Imaging.ImageFormat.Jpeg); } else { //模版的宽高比例 double templateRate (double)maxWidth / maxHeight; //原图片的宽高比例 double initRate (double)initImage.Width / initImage.Height; //原图与模版比例相等直接缩放 if (templateRate initRate) { //按模版大小生成最终图片 System.Drawing.Image templateImage new System.Drawing.Bitmap(maxWidth, maxHeight); System.Drawing.Graphics templateG System.Drawing.Graphics.FromImage(templateImage); templateG.InterpolationMode System.Drawing.Drawing2D.InterpolationMode.High; templateG.SmoothingMode System.Drawing.Drawing2D.SmoothingMode.HighQuality; templateG.Clear(Color.White); templateG.DrawImage(initImage, new System.Drawing.Rectangle(0, 0, maxWidth, maxHeight), new System.Drawing.Rectangle(0, 0, initImage.Width, initImage.Height), System.Drawing.GraphicsUnit.Pixel); templateImage.Save(fileSaveUrl, System.Drawing.Imaging.ImageFormat.Jpeg); } //原图与模版比例不等裁剪后缩放 else { //裁剪对象 System.Drawing.Image pickedImage null; System.Drawing.Graphics pickedG null; //定位 Rectangle fromR new Rectangle(0, 0, 0, 0);//原图裁剪定位 Rectangle toR new Rectangle(0, 0, 0, 0);//目标定位 //宽为标准进行裁剪 if (templateRate initRate) { //裁剪对象实例化 pickedImage new System.Drawing.Bitmap(initImage.Width, (int)Math.Floor(initImage.Width / templateRate)); pickedG System.Drawing.Graphics.FromImage(pickedImage); //裁剪源定位 fromR.X 0; fromR.Y (int)Math.Floor((initImage.Height - initImage.Width / templateRate) / 2); fromR.Width initImage.Width; fromR.Height (int)Math.Floor(initImage.Width / templateRate); //裁剪目标定位 toR.X 0; toR.Y 0; toR.Width initImage.Width; toR.Height (int)Math.Floor(initImage.Width / templateRate); } //高为标准进行裁剪 else { pickedImage new System.Drawing.Bitmap((int)Math.Floor(initImage.Height * templateRate), initImage.Height); pickedG System.Drawing.Graphics.FromImage(pickedImage); fromR.X (int)Math.Floor((initImage.Width - initImage.Height * templateRate) / 2); fromR.Y 0; fromR.Width (int)Math.Floor(initImage.Height * templateRate); fromR.Height initImage.Height; toR.X 0; toR.Y 0; toR.Width (int)Math.Floor(initImage.Height * templateRate); toR.Height initImage.Height; } //设置质量 pickedG.InterpolationMode System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; pickedG.SmoothingMode System.Drawing.Drawing2D.SmoothingMode.HighQuality; //裁剪 pickedG.DrawImage(initImage, toR, fromR, System.Drawing.GraphicsUnit.Pixel); //按模版大小生成最终图片 System.Drawing.Image templateImage new System.Drawing.Bitmap(maxWidth, maxHeight); System.Drawing.Graphics templateG System.Drawing.Graphics.FromImage(templateImage); templateG.InterpolationMode System.Drawing.Drawing2D.InterpolationMode.High; templateG.SmoothingMode System.Drawing.Drawing2D.SmoothingMode.HighQuality; templateG.Clear(Color.White); templateG.DrawImage(pickedImage, new System.Drawing.Rectangle(0, 0, maxWidth, maxHeight), new System.Drawing.Rectangle(0, 0, pickedImage.Width, pickedImage.Height), System.Drawing.GraphicsUnit.Pixel); //关键质量控制 //获取系统编码类型数组,包含了jpeg,bmp,png,gif,tiff ImageCodecInfo[] icis ImageCodecInfo.GetImageEncoders(); ImageCodecInfo ici null; foreach (ImageCodecInfo i in icis) { if (i.MimeType image/jpeg || i.MimeType image/bmp || i.MimeType image/png || i.MimeType image/gif) { ici i; } } EncoderParameters ep new EncoderParameters(1); ep.Param[0] new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, (long)quality); //保存缩略图 templateImage.Save(fileSaveUrl, ici, ep); //templateImage.Save(fileSaveUrl, System.Drawing.Imaging.ImageFormat.Jpeg); //释放资源 templateG.Dispose(); templateImage.Dispose(); pickedG.Dispose(); pickedImage.Dispose(); } } //释放资源 initImage.Dispose(); } #endregion #region 等比缩放 /// summary /// 图片等比缩放 /// /summary /// remarks吴剑 2011-01-21/remarks /// param namepostedFile原图HttpPostedFile对象/param /// param namesavePath缩略图存放地址/param /// param nametargetWidth指定的最大宽度/param /// param nametargetHeight指定的最大高度/param /// param namewatermarkText水印文字(为表示不使用水印)/param /// param namewatermarkImage水印图片路径(为表示不使用水印)/param public static void ZoomAuto(System.Web.HttpPostedFile postedFile, string savePath, System.Double targetWidth, System.Double targetHeight, string watermarkText, string watermarkImage) { //创建目录 string dir Path.GetDirectoryName(savePath); if (!Directory.Exists(dir)) Directory.CreateDirectory(dir); //原始图片获取原始图片创建对象并使用流中嵌入的颜色管理信息 System.Drawing.Image initImage System.Drawing.Image.FromStream(postedFile.InputStream, true); //原图宽高均小于模版不作处理直接保存 if (initImage.Width targetWidth initImage.Height targetHeight) { //文字水印 if (watermarkText ! ) { using (System.Drawing.Graphics gWater System.Drawing.Graphics.FromImage(initImage)) { System.Drawing.Font fontWater new Font(黑体, 10); System.Drawing.Brush brushWater new SolidBrush(Color.White); gWater.DrawString(watermarkText, fontWater, brushWater, 10, 10); gWater.Dispose(); } } //透明图片水印 if (watermarkImage ! ) { if (File.Exists(watermarkImage)) { //获取水印图片 using (System.Drawing.Image wrImage System.Drawing.Image.FromFile(watermarkImage)) { //水印绘制条件原始图片宽高均大于或等于水印图片 if (initImage.Width wrImage.Width initImage.Height wrImage.Height) { Graphics gWater Graphics.FromImage(initImage); //透明属性 ImageAttributes imgAttributes new ImageAttributes(); ColorMap colorMap new ColorMap(); colorMap.OldColor Color.FromArgb(255, 0, 255, 0); colorMap.NewColor Color.FromArgb(0, 0, 0, 0); ColorMap[] remapTable { colorMap }; imgAttributes.SetRemapTable(remapTable, ColorAdjustType.Bitmap); float[][] colorMatrixElements { new float[] {1.0f, 0.0f, 0.0f, 0.0f, 0.0f}, new float[] {0.0f, 1.0f, 0.0f, 0.0f, 0.0f}, new float[] {0.0f, 0.0f, 1.0f, 0.0f, 0.0f}, new float[] {0.0f, 0.0f, 0.0f, 0.5f, 0.0f},//透明度:0.5 new float[] {0.0f, 0.0f, 0.0f, 0.0f, 1.0f} }; ColorMatrix wmColorMatrix new ColorMatrix(colorMatrixElements); imgAttributes.SetColorMatrix(wmColorMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap); gWater.DrawImage(wrImage, new Rectangle(initImage.Width - wrImage.Width, initImage.Height - wrImage.Height, wrImage.Width, wrImage.Height), 0, 0, wrImage.Width, wrImage.Height, GraphicsUnit.Pixel, imgAttributes); gWater.Dispose(); } wrImage.Dispose(); } } } //保存 initImage.Save(savePath, System.Drawing.Imaging.ImageFormat.Jpeg); } else { //缩略图宽、高计算 double newWidth initImage.Width; double newHeight initImage.Height; //宽大于高或宽等于高横图或正方 if (initImage.Width initImage.Height || initImage.Width initImage.Height) { //如果宽大于模版 if (initImage.Width targetWidth) { //宽按模版高按比例缩放 newWidth targetWidth; newHeight initImage.Height * (targetWidth / initImage.Width); } } //高大于宽竖图 else { //如果高大于模版 if (initImage.Height targetHeight) { //高按模版宽按比例缩放 newHeight targetHeight; newWidth initImage.Width * (targetHeight / initImage.Height); } } //生成新图 //新建一个bmp图片 System.Drawing.Image newImage new System.Drawing.Bitmap((int)newWidth, (int)newHeight); //新建一个画板 System.Drawing.Graphics newG System.Drawing.Graphics.FromImage(newImage); //设置质量 newG.InterpolationMode System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; newG.SmoothingMode System.Drawing.Drawing2D.SmoothingMode.HighQuality; //置背景色 newG.Clear(Color.White); //画图 newG.DrawImage(initImage, new System.Drawing.Rectangle(0, 0, newImage.Width, newImage.Height), new System.Drawing.Rectangle(0, 0, initImage.Width, initImage.Height), System.Drawing.GraphicsUnit.Pixel); //文字水印 if (watermarkText ! ) { using (System.Drawing.Graphics gWater System.Drawing.Graphics.FromImage(newImage)) { System.Drawing.Font fontWater new Font(宋体, 10); System.Drawing.Brush brushWater new SolidBrush(Color.White); gWater.DrawString(watermarkText, fontWater, brushWater, 10, 10); gWater.Dispose(); } } //透明图片水印 if (watermarkImage ! ) { if (File.Exists(watermarkImage)) { //获取水印图片 using (System.Drawing.Image wrImage System.Drawing.Image.FromFile(watermarkImage)) { //水印绘制条件原始图片宽高均大于或等于水印图片 if (newImage.Width wrImage.Width newImage.Height wrImage.Height) { Graphics gWater Graphics.FromImage(newImage); //透明属性 ImageAttributes imgAttributes new ImageAttributes(); ColorMap colorMap new ColorMap(); colorMap.OldColor Color.FromArgb(255, 0, 255, 0); colorMap.NewColor Color.FromArgb(0, 0, 0, 0); ColorMap[] remapTable { colorMap }; imgAttributes.SetRemapTable(remapTable, ColorAdjustType.Bitmap); float[][] colorMatrixElements { new float[] {1.0f, 0.0f, 0.0f, 0.0f, 0.0f}, new float[] {0.0f, 1.0f, 0.0f, 0.0f, 0.0f}, new float[] {0.0f, 0.0f, 1.0f, 0.0f, 0.0f}, new float[] {0.0f, 0.0f, 0.0f, 0.5f, 0.0f},//透明度:0.5 new float[] {0.0f, 0.0f, 0.0f, 0.0f, 1.0f} }; ColorMatrix wmColorMatrix new ColorMatrix(colorMatrixElements); imgAttributes.SetColorMatrix(wmColorMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap); gWater.DrawImage(wrImage, new Rectangle(newImage.Width - wrImage.Width, newImage.Height - wrImage.Height, wrImage.Width, wrImage.Height), 0, 0, wrImage.Width, wrImage.Height, GraphicsUnit.Pixel, imgAttributes); gWater.Dispose(); } wrImage.Dispose(); } } } //保存缩略图 newImage.Save(savePath, System.Drawing.Imaging.ImageFormat.Jpeg); //释放资源 newG.Dispose(); newImage.Dispose(); initImage.Dispose(); } } #endregion #region 其它 /// summary /// 判断文件类型是否为WEB格式图片 /// (注JPG,GIF,BMP,PNG) /// /summary /// param namecontentTypeHttpPostedFile.ContentType/param /// returns/returns public static bool IsWebImage(string contentType) { if (contentType image/pjpeg || contentType image/jpeg || contentType image/gif || contentType image/bmp || contentType image/png) { return true; } else { return false; } } #endregion }//end class }
http://wiki.neutronadmin.com/news/217120/

相关文章:

  • 泰州企业网站建设公司国外免费网站域名服务器查询
  • 网站开发工具中的三剑客网络营销方式的优点
  • 全国知名网站排名如何设置网站兼容性
  • 网站建设总体方案设计做网站流程图
  • 四川城市建设住建厅网站执行信息公开网
  • 这几年做哪些网站致富废旧网站那个做的最好
  • 长春网络建站模板wordpress插件h5
  • 没有网站也可以做cpa阿里云com域名注册万网
  • 免费做app页面的网站做网站后台主要负责什么
  • 餐饮众筹模板网站建设做高防鞋 哪个网站能上架
  • 学怎么做建筑标书哪个网站打造公司的网站
  • 岳阳做网站费用高级网页设计师证书
  • 做网站建设销售员准备什么福田网站建设推荐
  • 张店网站优化推广可以做英语翻译兼职的网站
  • 网站策划书模板范文wordpress 退出块引用
  • 宝塔怎么创建网站谷歌三件套下载
  • 怎么在微信上做网站建设通网站的信息是哪里来的
  • 网站内容建设 发布形式创建一个网站需要做哪些工作
  • 南京市建设发展集团有限公司网站属于门户网站的有
  • 建筑业招聘网站网站安装php
  • 湘潭网站建站公司网站页面优化内容包括哪些
  • 网站服务器错误工信部icp备案官网
  • 网站策划书格式自己怎么做优惠券网站
  • 做ppt模仿网站如何用百度上传图片做网站外链
  • 网站在建设中页面广东专业网站优化制作公司
  • 公司域名是什么seo的搜索排名影响因素主要有
  • 开一家代做网站的公司焦作专业做网站公司
  • 海外商城网站建设连云制作企业网站
  • 个人网站作品昆山 网站建设
  • php网站后台管理模板建筑业资质证书查询网