界面控件DevExpress.Drawing图形库早期增强功能分享

众所周知,DevExpress在v22.2发布周期中引入了全新的DevExpress.Drawing图形库(并且已经在随后的小更新中引入了一系列增强功能)。

在这篇博文中,我们将总结在DevExpress v23.1中解决的一些问题,以及在EAP构建中为以下DevExpress产品提供的功能:

  • Office File API
  • Reporting
  • BI Dashboard

DevExpress v23.1正式版下载(Q技术交流:523159565)

如果您拥有一个Universal Subscription,请随时下载此早期访问预览(EAP)构建。

Reporting 和 BI Dashboard

当使用DevExpress Reports和BI Dashboard时,以下与绘图库相关的功能/特性现在在非windows环境中可用

  • 在标签中呈现对齐的文本
  • 尊重XRPictureBox内的源图像分辨率(DPI)
  • 使用XRPdfContent报表控件将PDF嵌入到报表文档中
  • 使用XRGauge报表控件在报告文档中显示和打印仪表
  • 使用 ImageExportOptions.Resolution 属性来指定生成的图像分辨率
  • 将所有报表页面导出为单个TIFF图像(SingleFile导出模式)
  • 为导出为PDF文件的报表文档自动替换缺失的字体
  • 使用BI Dashboards时,可以导出仪表和树图

为了改善整体开发人员的体验,我们还将公共API中的所有System.Drawing枚举替换为跨平台的对应项。完整的API列表请参考以下重大变更:Office-Inspired Products, Barcode Generation API, Reporting, and Printing - Members changed their types and signatures

Office File API

在Word Processing和Spreadsheet Document API中的形状

v23.1解决了与使用Shape API(电子表格和文字处理文档API)相关的限制,Word和Excel文档(带形状)现在可以导出为PDF和其他非windows环境中的可用格式。用户可以像以前一样使用Shape API来根据需要管理形状,虽然在这个版本中解决了许多问题,但仍有一些工作要做。目前还不支持/导出半透明图像和包含元文件的形状。

PDF Graphics API

PDF Graphics API是一个PDF文档API的一个子集,它允许用户在PDF文件中创建图形内容,这个功能与System.Drawing.Graphics命名空间紧密相连,实现了与GDI+ API类似的功能。Graphics API是一个全面的子集,因此我们投入了大量精力使其与新图形库一起工作,目前这个功能可以在非windows环境中使用,所有方法都包含重载,这些重载使用DevExpress.Drawing类和枚举。例如,您现在可以在PDF页面上绘制图像,如下所示(无论目标操作系统如何,此代码都将正常运行):

using (var processor = new PdfDocumentProcessor()) {
processor.LoadDocument("Documents//Document.pdf");

using (PdfGraphics graphics = processor.CreateGraphics()) {

// Obtain the first document page
PdfPage page = processor.Document.Pages[0];
PdfRectangle rect = page.CropBox;

// Specify the image to draw
using (var stream =
new FileStream("Documents//DevExpress.png", FileMode.Open, FileAccess.Read)) {
using (DXImage image = DXImage.FromStream(stream)) {

// Calculate image position
RectangleF pageCenter =
new RectangleF((float)rect.Width / 2 - image.Width / 2,
(float)rect.Height / 2 - image.Height / 2, image.Width, image.Height);

// Draw an image into the calculated area
graphics.DrawImage(image, pageCenter);

// Add graphics content to the page foreground
graphics.AddToPageForeground(page, 72, 72);
}
}
}
processor.SaveDocument("result.pdf");
}
导出到位图和图像提取

v23.1包括一个新的PdfDocumentProcessor.CreateDXBitmap方法,它返回一个 DXBitmap 对象,您还可以使用PdfDocumentSigner.CreateDXBitmap方法来生成签名图像。

PDF Document API还包括一个GetImages方法(允许您从PDF文件中检索所有图像),此方法返回位图对象列表,因此此功能在非Windows环境中不可用。就像CreateBitmap-CreateDXBitmap对一样,我们添加了一个GetDXImages方法来返回DXBitmap对象的列表。

你可能感兴趣的:(devexpress,UI开发,界面控件,c#)