.Net Core 图片合成、证书生成


文章目录

  • .Net Core 图片合成、证书生成
  • 前言
  • 一、封装ImgText对象
  • 二、ImageUtil帮助类
  • 三、测试
  • 总结

前言

在开发中有一些场景中我们需要将文档盖章、荣誉证书生成等,此篇记录在.Net Core 中合成图片


以下是本篇文章正文内容,下面案例可供参考

一、封装ImgText对象

命名空间:

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Text;

ImgText对象:

public class ImgText{/// <summary>/// 图片文字/// </summary>/// <param name="text">文字</param>/// <param name="x">要插入的x轴位置,根据StringAlignment类型不同插入点位置不同,例如Near则以左边为插入点的x轴位置,Center则以文字中心点为插入点的x轴位置</param>/// <param name="y">要插入的y轴 根据StringAlignment类型不同插入点位置不同,例如Near则以左边为插入点的y轴位置,Center则以文字中心点为插入点的y轴位置</param>public ImgText(string text, float x, float y){this.Text = text;StringFormat sf = new StringFormat();sf.Alignment = StringAlignment.Near;//默认设置为靠左布局this.StringFormat = sf;//默认画笔颜色为黑色this.Color = Color.Black;//默认字体为是宋体 字体大小为28 普通文本this.Font = new Font("宋体", 28, FontStyle.Regular, GraphicsUnit.Point);this.PointF = new PointF(x, y-(28/2));}/// <summary>/// 图片文字/// </summary>/// <param name="text">文字</param>/// <param name="fontSize">字体大小</param>/// <param name="x">要插入的x轴位置,根据StringAlignment类型不同插入点位置不同,例如Near则以左边为插入点的x轴位置,Center则以文字中心点为插入点的x轴位置</param>/// <param name="y">要插入的y轴 根据StringAlignment类型不同插入点位置不同,例如Near则以左边为插入点的y轴位置,Center则以文字中心点为插入点的y轴位置</param>public ImgText(string text, float fontSize, float x, float y){this.Text = text;StringFormat sf = new StringFormat();sf.Alignment = StringAlignment.Near;//默认设置为靠左布局this.StringFormat = sf;//默认画笔颜色为黑色this.Color = Color.Black;//默认字体为是宋体 字体大小为28 普通文本this.Font = new Font("宋体", fontSize, FontStyle.Regular, GraphicsUnit.Point);this.PointF = new PointF(x, y-(fontSize/2));}/// <summary>/// 图片文字/// </summary>/// <param name="text">文字</param>/// <param name="fontSize">字体大小</param>/// <param name="fontStyle">字体样式 例如:加粗</param>/// <param name="x">要插入的x轴位置,根据StringAlignment类型不同插入点位置不同,例如Near则以左边为插入点的x轴位置,Center则以文字中心点为插入点的x轴位置</param>/// <param name="y">要插入的y轴 根据StringAlignment类型不同插入点位置不同,例如Near则以左边为插入点的y轴位置,Center则以文字中心点为插入点的y轴位置</param>public ImgText(string text, float fontSize, FontStyle fontStyle, float x, float y){this.Text = text;StringFormat sf = new StringFormat();sf.Alignment = StringAlignment.Near;//默认设置为靠左布局this.StringFormat = sf;//默认画笔颜色为黑色this.Color = Color.Black;//默认字体为是宋体 字体大小为28 普通文本this.Font = new Font("宋体", fontSize, fontStyle, GraphicsUnit.Point);this.PointF = new PointF(x, y-(fontSize/2));}/// <summary>/// 图片文字/// </summary>/// <param name="text">文字</param>/// <param name="fontSize">字体大小</param>/// <param name="color">字体颜色</param>/// <param name="fontStyle">字体样式</param>/// <param name="x">要插入的x轴位置,根据StringAlignment类型不同插入点位置不同,例如Near则以左边为插入点的x轴位置,Center则以文字中心点为插入点的x轴位置</param>/// <param name="y">要插入的y轴 根据StringAlignment类型不同插入点位置不同,例如Near则以左边为插入点的y轴位置,Center则以文字中心点为插入点的y轴位置</param>public ImgText(string text, float fontSize, Color color, FontStyle fontStyle, float x, float y){this.Text = text;StringFormat sf = new StringFormat();sf.Alignment = StringAlignment.Near;//默认设置为靠左布局this.StringFormat = sf;//默认画笔颜色为黑色this.Color = color;//默认字体为是宋体 字体大小为28 普通文本this.Font = new Font("宋体", fontSize, fontStyle, GraphicsUnit.Point);this.PointF = new PointF(x, y - (fontSize / 2));}/// <summary>/// 图片文字/// </summary>/// <param name="text">文字</param>/// <param name="fontSize">字体大小</param>/// <param name="color">字体颜色</param>/// <param name="fontStyle">字体样式</param>/// <param name="fontFamily">字体类型 例如:微软雅黑、宋体</param>/// <param name="x">要插入的x轴位置,根据StringAlignment类型不同插入点位置不同,例如Near则以左边为插入点的x轴位置,Center则以文字中心点为插入点的x轴位置</param>/// <param name="y">要插入的y轴 根据StringAlignment类型不同插入点位置不同,例如Near则以左边为插入点的y轴位置,Center则以文字中心点为插入点的y轴位置</param>public ImgText(string text, float fontSize, Color color, FontStyle fontStyle, FontFamily fontFamily, float x, float y){this.Text = text;StringFormat sf = new StringFormat();sf.Alignment = StringAlignment.Near;//默认设置为靠左布局this.StringFormat = sf;//默认画笔颜色为黑色this.Color = color;//默认字体为是宋体 字体大小为28 普通文本this.Font = new Font(fontFamily, fontSize, fontStyle, GraphicsUnit.Point);this.PointF = new PointF(x, y - (fontSize / 2));}/// <summary>/// 图片文字/// </summary>/// <param name="text">文字</param>/// <param name="fontSize">字体大小</param>/// <param name="color">字体颜色</param>/// <param name="fontStyle">字体样式</param>/// <param name="fontFamily">字体类型</param>/// <param name="x">要插入的x轴位置,根据StringAlignment类型不同插入点位置不同,例如Near则以左边为插入点的x轴位置,Center则以文字中心点为插入点的x轴位置</param>/// <param name="y">要插入的y轴 根据StringAlignment类型不同插入点位置不同,例如Near则以左边为插入点的y轴位置,Center则以文字中心点为插入点的y轴位置</param>public ImgText(string text, float fontSize, Color color, FontStyle fontStyle, string fontFamily, float x, float y){this.Text = text;StringFormat sf = new StringFormat();sf.Alignment = StringAlignment.Near;//默认设置为靠左布局this.StringFormat = sf;//默认画笔颜色为黑色this.Color = color;//默认字体为是宋体 字体大小为28 普通文本this.Font = new Font(fontFamily, fontSize, fontStyle, GraphicsUnit.Point);this.PointF = new PointF(x, y - (fontSize / 2));}/// <summary>/// 图片文字/// </summary>/// <param name="text">文字</param>///  /// <param name="fontSize">字体大小</param>/// <param name="alignment">对齐方式</param>/// <param name="color">字体颜色</param>/// <param name="fontStyle">字体样式</param>/// <param name="fontFamily">字体类型</param>/// <param name="x">要插入的x轴位置,根据StringAlignment类型不同插入点位置不同,例如Near则以左边为插入点的x轴位置,Center则以文字中心点为插入点的x轴位置</param>/// <param name="y">要插入的y轴 根据StringAlignment类型不同插入点位置不同,例如Near则以左边为插入点的y轴位置,Center则以文字中心点为插入点的y轴位置</param>public ImgText(string text, float fontSize,StringAlignment alignment, Color color, FontStyle fontStyle, string fontFamily, float x, float y){this.Text = text;StringFormat sf = new StringFormat();sf.Alignment = alignment;//默认设置为靠左布局this.StringFormat = sf;//默认画笔颜色为黑色this.Color = color;//默认字体为是宋体 字体大小为28 普通文本this.Font = new Font(fontFamily, fontSize, fontStyle, GraphicsUnit.Point);this.PointF = new PointF(x, y - (fontSize / 2));}/// <summary>/// 图片文字/// </summary>/// <param name="text">文字</param>/// <param name="fontSize">字体大小</param>/// <param name="alignment">对齐方式</param>/// <param name="color">字体颜色</param>/// <param name="fontFamily">字体</param>/// <param name="fontStyle">字体样式</param>/// <param name="x">要插入的x轴位置,根据StringAlignment类型不同插入点位置不同,例如Near则以左边为插入点的x轴位置,Center则以文字中心点为插入点的x轴位置</param>/// <param name="y">要插入的y轴 根据StringAlignment类型不同插入点位置不同,例如Near则以左边为插入点的y轴位置,Center则以文字中心点为插入点的y轴位置</param>public ImgText(string text, float fontSize, StringAlignment alignment, Color color, FontFamily fontFamily, FontStyle fontStyle,  float x, float y){this.Text = text;StringFormat sf = new StringFormat();sf.Alignment = alignment;this.StringFormat = sf;this.Color = color;this.Font = new Font(fontFamily, fontSize, fontStyle, GraphicsUnit.Point);this.PointF = new PointF(x, y - (fontSize / 2));}/// <summary>/// 图片文字/// </summary>/// <param name="text">文字</param>/// <param name="fontSize">字体大小</param>/// <param name="alignment">对齐方式</param>/// <param name="color">字体颜色</param>/// <param name="fontStyle">字体样式</param>/// <param name="fontFamily">字体类型</param>/// <param name="x">要插入的x轴位置,根据StringAlignment类型不同插入点位置不同,例如Near则以左边为插入点的x轴位置,Center则以文字中心点为插入点的x轴位置</param>/// <param name="y">要插入的y轴 根据StringAlignment类型不同插入点位置不同,例如Near则以左边为插入点的y轴位置,Center则以文字中心点为插入点的y轴位置</param>public ImgText(string text, float fontSize, StringAlignment alignment, Color color, string fontFamily, FontStyle fontStyle, float x, float y){this.Text = text;StringFormat sf = new StringFormat();sf.Alignment = alignment;this.StringFormat = sf;this.Color = color;this.Font = new Font(fontFamily, fontSize, fontStyle, GraphicsUnit.Point);this.PointF = new PointF(x, y - (fontSize / 2));}/// <summary>/// 要插入的文字/// </summary>public string Text { get; set; }/// <summary>/// 文字布局方式/// </summary>public StringFormat StringFormat { get; set; }/// <summary>/// 字体颜色/// </summary>public Color Color { get; set; }/// <summary>/// 字体样式大小等/// </summary>public Font Font { get; set; }/// <summary>/// 字体要插入的位置/// </summary>public PointF PointF { get; set; }}

二、ImageUtil帮助类

命名空间(需要安装mvc包,不想安的话可以去掉ToFile方法):

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.Drawing.Text;
using System.IO;
using System.Text;
using System.Web;
using System.Web.Mvc;

ImageUtil帮助类:

public static class ImageUtil{public static Bitmap AsBitmap(this Image sourceImage){Bitmap bitmap = new Bitmap(sourceImage.Width, sourceImage.Height, PixelFormat.Format32bppArgb);using (Graphics g = Graphics.FromImage(bitmap)){g.DrawImage(sourceImage, 0, 0);}return bitmap;}/// <summary>/// 图片合并 例如,图片盖章/// </summary>/// <param name="backgroundImg">底图、背景图</param>/// <param name="topImg">最上层图片、盖章图片</param>/// <param name="xDeviation">x轴位置 图片左上角的点</param>/// <param name="yDeviation">y轴位置 图片左上角的点</param>/// <returns></returns>public static Bitmap SyntheticImage(this Image backgroundImg, Image topImg, float xDeviation = 0, float yDeviation = 0){Bitmap bmp = new Bitmap(backgroundImg.Width, backgroundImg.Height);using (Graphics g = Graphics.FromImage(bmp)){g.Clear(Color.White);g.DrawImage(backgroundImg, 0, 0, backgroundImg.Width, backgroundImg.Height);g.DrawImage(topImg, xDeviation, yDeviation, topImg.Width, topImg.Height);}return bmp;}/// <summary>/// 图片合并 例如,图片盖章/// </summary>/// <param name="backgroundImg">底图、背景图</param>/// <param name="topImg">最上层图片、盖章图片</param>/// <param name="xDeviation">x轴位置 图片左上角的点</param>/// <param name="yDeviation">y轴位置 图片左上角的点</param>/// <returns></returns>public static Bitmap SyntheticImage(this Bitmap backgroundImg, Image topImg, float xDeviation = 0, float yDeviation = 0){Bitmap bmp = new Bitmap(backgroundImg.Width, backgroundImg.Height);using (Graphics g = Graphics.FromImage(bmp)){g.Clear(Color.White);g.DrawImage(backgroundImg, 0, 0, backgroundImg.Width, backgroundImg.Height);g.DrawImage(topImg, xDeviation, yDeviation, topImg.Width, topImg.Height);}return bmp;}/// <summary>/// 图片合并 例如,图片盖章/// </summary>/// <param name="backgroundImg">底图、背景图</param>/// <param name="topImg">最上层图片、盖章图片</param>/// <param name="xDeviation">x轴位置 图片左上角的点</param>/// <param name="yDeviation">y轴位置 图片左上角的点</param>/// <param name="width">插入宽度</param>/// <param name="height">插入高度</param>/// <returns></returns>public static Bitmap SyntheticImage(this Image backgroundImg, Image topImg, float xDeviation = 0, float yDeviation = 0, float width = 0, float height = 0){Bitmap bmp = new Bitmap(backgroundImg.Width, backgroundImg.Height);using (Graphics g = Graphics.FromImage(bmp)){g.Clear(Color.White);g.DrawImage(backgroundImg, 0, 0, backgroundImg.Width, backgroundImg.Height);g.DrawImage(topImg, xDeviation, yDeviation, width != 0 ? width : topImg.Width, height != 0 ? height : topImg.Height);}return bmp;}/// <summary>/// 图片合并 例如,图片盖章/// </summary>/// <param name="backgroundImg">底图、背景图</param>/// <param name="topImg">最上层图片、盖章图片</param>/// <param name="xDeviation">x轴位置 图片左上角的点</param>/// <param name="yDeviation">y轴位置 图片左上角的点</param>/// <param name="width">插入宽度</param>/// <param name="height">插入高度</param>/// <returns></returns>public static Bitmap SyntheticImage(this Bitmap backgroundImg, Image topImg, float xDeviation = 0, float yDeviation = 0, float width = 0, float height = 0){Bitmap bmp = new Bitmap(backgroundImg.Width, backgroundImg.Height);using (Graphics g = Graphics.FromImage(bmp)){g.Clear(Color.White);g.DrawImage(backgroundImg, 0, 0, backgroundImg.Width, backgroundImg.Height);g.DrawImage(topImg, xDeviation, yDeviation, width != 0 ? width : topImg.Width, height != 0 ? height : topImg.Height);}return bmp;}/// <summary>/// 插入文字/// </summary>/// <param name="imgText"></param>/// <param name="sourceImage"></param>/// <returns></returns>public static Bitmap InsertString(ImgText imgText, Bitmap sourceImage){Bitmap bitmap = new Bitmap(sourceImage.Width, sourceImage.Height, PixelFormat.Format32bppArgb);using (Graphics g = Graphics.FromImage(bitmap)){g.DrawImage(sourceImage, 0, 0);g.TextRenderingHint = TextRenderingHint.AntiAlias;using (SolidBrush brush = new SolidBrush(imgText.Color)){g.CompositingQuality = CompositingQuality.HighQuality;g.InterpolationMode = InterpolationMode.HighQualityBicubic;g.SmoothingMode = SmoothingMode.HighQuality;g.DrawString(imgText.Text, imgText.Font, brush, imgText.PointF, imgText.StringFormat);}}return bitmap;}/// <summary>/// 插入文字/// </summary>/// <param name="imgText"></param>/// <param name="sourceImage"></param>/// <returns></returns>public static Bitmap InsertString(ImgText imgText, Image sourceImage){Bitmap bitmap = new Bitmap(sourceImage.Width, sourceImage.Height, PixelFormat.Format32bppArgb);using (Graphics g = Graphics.FromImage(bitmap)){g.DrawImage(sourceImage, 0, 0);g.TextRenderingHint = TextRenderingHint.AntiAlias;using (SolidBrush brush = new SolidBrush(imgText.Color)){g.CompositingQuality = CompositingQuality.HighQuality;g.InterpolationMode = InterpolationMode.HighQualityBicubic;g.SmoothingMode = SmoothingMode.HighQuality;g.DrawString(imgText.Text, imgText.Font, brush, imgText.PointF, imgText.StringFormat);}}return bitmap;}/// <summary>/// 插入文字/// </summary>/// <param name="sourceImage"></param>/// <param name="imgText"></param>/// <returns></returns>public static Bitmap InsertString(this Image sourceImage, ImgText imgText){Bitmap bitmap = new Bitmap(sourceImage.Width, sourceImage.Height, PixelFormat.Format32bppArgb);using (Graphics g = Graphics.FromImage(bitmap)){g.DrawImage(sourceImage, 0, 0);g.TextRenderingHint = TextRenderingHint.AntiAlias;using (SolidBrush brush = new SolidBrush(imgText.Color)){g.CompositingQuality = CompositingQuality.HighQuality;g.InterpolationMode = InterpolationMode.HighQualityBicubic;g.SmoothingMode = SmoothingMode.HighQuality;g.DrawString(imgText.Text, imgText.Font, brush, imgText.PointF, imgText.StringFormat);}}return bitmap;}/// <summary>/// 插入文字/// </summary>/// <param name="sourceImage"></param>/// <param name="imgText"></param>/// <returns></returns>public static Bitmap InsertString(this Bitmap sourceImage, ImgText imgText){Bitmap bitmap = new Bitmap(sourceImage.Width, sourceImage.Height, PixelFormat.Format32bppArgb);using (Graphics g = Graphics.FromImage(bitmap)){g.DrawImage(sourceImage, 0, 0);g.TextRenderingHint = TextRenderingHint.AntiAlias;using (SolidBrush brush = new SolidBrush(imgText.Color)){g.CompositingQuality = CompositingQuality.HighQuality;g.InterpolationMode = InterpolationMode.HighQualityBicubic;g.SmoothingMode = SmoothingMode.HighQuality;g.DrawString(imgText.Text, imgText.Font, brush, imgText.PointF, imgText.StringFormat);}}return bitmap;}/// <summary>/// 将位图转换为Base64字符串 在前端可用 <img  src="https://img-blog.csdnimg.cn/2022010613145535242.jpeg"" />/// </summary>/// <param name="bitmap"></param>/// <returns></returns>public static string ToBase64String(this Bitmap bitmap){using (MemoryStream ms = new MemoryStream()){bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);byte[] arr = new byte[ms.Length];ms.Position = 0;ms.Read(arr, 0, (int)ms.Length);ms.Close();return Convert.ToBase64String(arr);}}/// <summary>/// 将位图转换为FileStreamResult 在前端可用 <img  src="请求的路由地址" />/// </summary>/// <param name=""></param>/// <returns></returns>public static ActionResult ToFile(this Bitmap bitmap,string fileName){using (MemoryStream ms = new MemoryStream()){bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);byte[] arr = new byte[ms.Length];ms.Position = 0;ms.Read(arr, 0, (int)ms.Length);ms.Close();return new FileStreamResult(new MemoryStream(arr), "image/jpeg") { FileDownloadName = JoinExt(fileName, ".jpg") };}}/// <summary>/// 如果文件名中没有后缀名,增加文件后缀名/// </summary>/// <param name="fileName"></param>/// <param name="ext">文件后缀名 例如 .jpg .zip .pdf</param>/// <returns></returns>private static string JoinExt(string fileName,string ext){if (!fileName.EndsWith(ext)){fileName += ext;}return HttpUtility.UrlEncode(fileName, Encoding.GetEncoding("UTF-8"));}}

三、测试

在控制器中编写

        /// <summary>/// 测试图片合成/// </summary>/// <returns></returns>[HttpGet]public IActionResult GetSyntheticImg(string id){string _filerootdir = _webhostEnvironment.WebRootPath;//可以通过id去查询相关数据,这里只做测试数据//模板图片var imgPath = _filerootdir+ "/img/test_bj.jpg";return Image.FromFile(imgPath).AsBitmap().InsertString(new ImgText("Hello Word", 20,StringAlignment.Center, Color.Black, FontStyle.Regular, "微软雅黑", 300,210 )).ToFile("测试图片");}

前端编写

<img src="@Url.Action("GetSyntheticImg")" />

总结

以上就是在.Net Core 下图片合成的简单使用。

.Net Core 图片合成、证书生成相关推荐

  1. Android 图片合成海报生成二维码,指定文字。

    一 ,图片合成,海报增加二维码,文字,或者用户ID.先看图 这个是没有合成之前的图. 合成之后的图. . 使用到的技术点 1,图片Glide 2, banner2.0 3, zxing class M ...

  2. .Net MVC 图片合成、证书生成

    .Net MVC 图片合成.证书生成 文章目录 .Net MVC 图片合成.证书生成 前言 一.封装ImgText对象 二.ImageUtil帮助类 三.测试 总结 前言 在开发中有一些场景中我们需要 ...

  3. 手机上怎么在线生成gif?1分钟教你手机图片合成gif

    怎样通过手机实现在线制作GIF图片的操作呢?接下来,给大家分享两招gif制作(https://www.gif.cn/)小窍门-[GIF中文网]不需要下载任何软件,小白也能轻松上手.支持原画质导出,图片 ...

  4. C# 后台 背景图片拼接图片与文字,文字图片生成与背景图片合成

    标题C# 后台 背景图片拼接图片与文字,文字图片生成与背景图片合成 最近有个需求是将生成的邀请码与背景图片合成成为新的图片,查找了一些资料后又整理了一遍,查到了一个群主的帖子,虽然代码略微有点问题,地 ...

  5. php生成二维码并与背景图片合成

    1. 下载 phpqrcode  PHP QR Code是一个PHP二维码生成类库,利用它可以轻松生成二维码,官网提供了下载和多个演示demo,查看地址:http://phpqrcode.source ...

  6. 前端生成二维码与图片合成

    首先前端生成二维码 使用插件完成,插件为DrawQRCode.unitypackage  合成二维码直接使用DrawQRCode 类里提供的方法即可 生成二维码的方法 DrawCode_Color32 ...

  7. nodejs 实现二维码生成及图片合成

    游戏前端需要做分享功能.生成二维码后 在指定的图片上添加二维码和邀请码 生成新的图片 如图所示 1.使用 qr-code生成二维码 /*** 根据url 地址生成 二维码*/async createQ ...

  8. 图片合成gif怎么做?图片转gif,图片生成gif在线制作

    ​​怎么制作一张有趣的gif动图,很多时候我们常见的就是gif动图用来发表情包,殊不知gif动图可以用的还是挺多的,比如制作好看的风景gif动画,产品的宣传动图,用来做宣传素材或者是文章配图都是很好的 ...

  9. JAVA实现基于ZXing的二维码自动生成与图片合成

    JAVA实现基于ZXing的二维码自动生成与图片合成 近日做项目需要生成带有信息的二维码,并嵌入到一张图片中.实现思路采用Zxing生成二维码,java图形库进行图片的嵌入. 生成二维码 ZXing是 ...

最新文章

  1. Speed4Web 绿色纯净版
  2. javaScript中的提示对话框
  3. 北工大计算机学院教授,北工大计算机学院计算机科学与技术导师介绍:周艺华...
  4. 探索PHP7(一)--性能
  5. java编写算术平均数,[求助]基础-怎样编一个计算算术平均数的程序(急啊)
  6. JavaFX UI控件教程(十八)之Progress Bar和Progress Indicator
  7. linux用pe大小做逻辑卷,Linux常用命令之--逻辑卷
  8. 如何在Kaggle比赛上击败98%的对手?你需要一份七步秘笈
  9. Unity3D实践1:摄像机跟随
  10. jdbc mysql url写法_Springboot项目连接MySql写了一个bug你也可能遇到
  11. eclipse中文版eclipse汉化教程
  12. 基于php的微信公众号开发,基于ThinkPHP框架快速构建微信公众号开发框架
  13. Nginx下载及安装详细步骤
  14. C语言结构体struct的语法解析
  15. 方舟linux服务器更新,方舟怎么更新服务器版本 | 手游网游页游攻略大全
  16. US News世界大学综合最新排名前100名
  17. 理财入门《小狗钱钱》阅读总结
  18. AM335x启动流程(BootRom-MLO-Uboot)
  19. 浪潮服务器还原备份系统,一键GHOST系统数据手动还原备份的妙用的方法(上)...
  20. 机械工业出版社《公司理财》《投资学》《期货、期权及衍生品》错误汇总

热门文章

  1. Tomcat服务器修改网站显示图标
  2. 样机模板素材哪家强?Top4都在这!
  3. sentinel dashboard扩展
  4. (xml+flash)flash播放器代码!
  5. mapbox 使用antv/l7添加下雨效果
  6. 计算机组成及层次结构
  7. ucla 计算机科学,加州大学各分校哪些专业特别牛?
  8. c语言将英文月份转化为数字,用C语言进行数值月份向英文月份的转换 为什么输入两位数的月份只能识别第一个数字 求解答!!...
  9. 多元微积分_三维散度
  10. 非金融上市企业数据,整理好的面板数据,excel或stata版本