Я пытаюсь создать несколько сотен базовых изображений, в которых текст формы и цвет фона основаны на текстовой строке.
Для этого я решил использовать PowerPoint, потому что считаю, что стиль изображения достаточно универсален для моей функции. Единственная программа, которую я знаю, как это сделать, - это Adobe Photoshop, однако у меня нет этого программного обеспечения.
У меня есть функция экспорта изображения для работы, однако качество изображения экспортируемой графики ужасное.
Как я могу сделать это с помощью более качественного процессора изображений?
Как можно видеть, у меня есть слайд PowerPoint с текстовым полем для хранения строковых значений (Прямоугольник 5) и моей «формы», которая будет стилизована двумя значениями RGB в текстовой строке. строковое значение имеет следующий формат (разделены вертикальной чертой)
- Текстовое поле 4. Имя | Прямоугольник со скругленными углами 7.Цвет | Закругленный прямоугольник 3. цвет
Используемый код:
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