我正在尝试生成数百个基本图形,其中形状文本和背景颜色基于文本字符串。
为此我选择使用 PowerPoint,因为我觉得图像样式对于我的功能来说非常全面。我知道如何做到这一点的唯一程序是 Adobe Photoshop,但是我没有那个软件。
我可以使用导出图像功能,但是导出图形的图像质量很差
我怎样才能用更好的图像处理器来完成这项工作?
可以看出,我有一个带有文本框的 powerpoint 幻灯片来保存字符串值(矩形 5)和我的“形状”,它将由文本字符串中的两个 RGB 值设置样式。字符串值具有以下格式(管道分隔)
- 文本框 4.名称 | 圆角矩形 7.Color | 圆角矩形 3.Color
使用的代码:
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