彩票走势图

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

翻译|使用教程|编辑:胡涛|2022-03-17 10:47:00.363|阅读 305 次

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

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

Spire.Doc具有在 C# 和 VB.NET 中操作 RTF 文件格式的强大能力。通过使用 Spire.Doc,开发人员可以将 RTF 转换为 PDF、HTML和 .doc、.docx 格式的 word 文档。本文将向您展示如何将 RTF 转换为图像,然后重置图像分辨率。

Spire.Doc for.NET 最新下载

下载并安装 Spire.Doc for .NET,然后通过以下路径在下载的 Bin 文件夹中添加 Spire.Doc.dll 作为参考:“..\Spire.Doc\Bin\NET4.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 image
Image[] 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() method
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;
}
}
}

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

如需获取更多产品相关信息请咨询  

aspose最新版合集


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP