我正在尝试生成几百个基本图形,其中形状文本和背景颜色基于文本字符串。
为此我选择使用PowerPoint,因为我觉得图像样式对我的功能来说非常全面。我知道如何做的唯一程序是Adobe Photoshop,但我没有该软件。
我的导出图像功能正常工作,但导出图形的图像质量很差
我怎样才能用更好的图像处理器完成这项工作?
可以看出,我有一个带有文本框的powerpoint幻灯片,用于保存stringvalues(Rectangle 5)和我的“shape”,它将由文本字符串中的两个RGB值设置样式。 字符串值具有以下格式(管道分隔)
使用的代码:
Private Sub btnProcess_Click()
Dim i As Integer
Dim StringsArray As Variant
Dim StringItems As Variant
' Call getlines to break all lines into separate records in stringsarray
StringsArray = getlines()
For i = 0 To UBound(StringsArray)
StringItems = Split(StringsArray(i), "|")
ActivePresentation.Slides("Slide1").Shapes("TextBox 4").TextFrame.TextRange.Text = StringItems(0)
ActivePresentation.Slides("Slide1").Shapes("Rounded Rectangle 7").Fill.ForeColor.RGB = StringItems(1)
ActivePresentation.Slides("Slide1").Shapes("Rounded Rectangle 3").Fill.ForeColor.RGB = StringItems(2)
ActivePresentation.Slides("Slide1").Shapes("Group 6").Export "C:\temp\file.emf", ppShapeFormatEMF, 150, 150, ppRelativeToSlide
Next i
End Sub
Function getlines() As Variant
Dim mylines As Variant
Dim mytext As String
mytext = ActivePresentation.Slides("Slide1").Shapes("Rectangle 5").TextFrame.TextRange.Text
mylines = Split(mytext, vbCr)
getlines = mylines
End Function
答案 0 :(得分:1)
PowerPoint幻灯片上显示的基于矢量图形的PPT对象不受比例影响,因此在所有缩放级别,对象不会显示失真。
我找不到将对象图形输出为真正的图元文件的方法,即使ppShapeFormatEMF格式也不会生成基于矢量的EMF,只是一个更大的图像。
我最后的最佳解决方案是增加PPT对象的基本大小并使用ppShapeFormatPNG格式导出形状对象,从而提高图像的细节级别。
有点明显。