Word控件Spire.Doc 转换教程(十八): 将 RTF 转换为图像并重置图像分辨率

本文主要介绍了如何将 RTF 转换为图像并重置图像分辨率,欢迎查阅下载最新试用!

下载并安装 Spire.Doc for .NET,然后通过以下路径在下载的 Bin 文件夹中添加 Spire.Doc.dll 作为参考:“..Spire.DocBinNET4.0 Spire.Doc.dll”。下面详细介绍如何在 C# 中将 RTF 转换为 PNG 和重置图像分辨率。

第 1 步创建一个新文档并从文件加载。

Document doc = new Document();doc.LoadFromFile("sample.rtf", FileFormat.Rtf);

第 2 步将 RTF 保存到图像。

Image[] images = doc.SaveToImages(Spire.Doc.Documents.ImageType.Metafile);

第 3 步遍历图片列表中的元素,保存为.Png格式。

for (int i = 0; i < images.Length; i++){Metafile mf = images[i] as Metafile;Image newimage = ResetResolution(mf, 200);string outputfile = String.Format("image-{0}.png", i);newimage.Save(outputfile, System.Drawing.Imaging.ImageFormat.Png);}

第 4 步设置图像分辨率调用方法:ResetResolution。

public static Image ResetResolution(Metafile mf, float resolution){int width = (int)(mf.Width * resolution / mf.HorizontalResolution);int height = (int)(mf.Height * resolution / mf.VerticalResolution);Bitmap bmp = new Bitmap(width, height);bmp.SetResolution(resolution, resolution);using (Graphics g = Graphics.FromImage(bmp)){g.DrawImage(mf, Point.Empty);}return bmp;}

重置图片分辨率前图片的有效截图:

如何将 RTF 转换为图像并重置图像分辨率

重置图像分辨率后的图像

如何将 RTF 转换为图像并重置图像分辨率

完整代码:

using Spire.Doc;using System.Drawing;using System.Drawing.Imaging;namespace RTFtoImage{class Program{static void Main(string[] args){//Create a new document and load from file.Document doc = new Document();doc.LoadFromFile("sample.rtf", FileFormat.Rtf);// save the RTF to imageImage[] images = doc.SaveToImages(Spire.Doc.Documents.ImageType.Metafile);for (int i = 0; i < images.Length; i++){Metafile mf = images[i] as Metafile;Image newimage = ResetResolution(mf, 200);string outputfile = String.Format("image-{0}.png", i);newimage.Save(outputfile, System.Drawing.Imaging.ImageFormat.Png);}}//set the image resolution by the ResetResolution() methodpublic static Image ResetResolution(Metafile mf, float resolution){int width = (int)(mf.Width * resolution / mf.HorizontalResolution);int height = (int)(mf.Height * resolution / mf.VerticalResolution);Bitmap bmp = new Bitmap(width, height);bmp.SetResolution(resolution, resolution);using (Graphics g = Graphics.FromImage(bmp)){g.DrawImage(mf, Point.Empty);}return bmp;}}}

欢迎下载|体验更多E-iceblue产品

如需获取更多产品相关信息请咨询在线客服  

aspose最新版合集


标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年1月13日
下一篇 2022年1月13日

相关推荐

发表回复

登录后才能评论
e///author/jinwe2022"} }