Member 13185343 Ответов: 1

Как нарисовать разноцветный текст с помощью графического класса на панели ?


Я хочу нарисовать следующий текст на панели
образец текста
как я могу это сделать?

Что я уже пробовал:

Dim path As GraphicsPath = New GraphicsPath()

       Dim emSize As Single = 120
       path.AddString("sample text", font.FontFamily, CInt(font.Style), emSize, rect, format)

       g.FillPath(Brushes.Yellow, path)
       g.DrawPath(Pens.Black, path)

1 Ответов

Рейтинг:
2

OriginalGriff

Для этого вам нужно будет использовать несколько различных комбинаций команд FillPath и DrawPath, каждая из которых имеет свой набор кистей. Это будет очень грязно и довольно трудно реализовать, так как вам нужно будет отделить каждый блок смежных слов, которые должны быть в наборе цветов, нарисовать его, а затем использовать графику.MeasureString или GraphicsPath.GetBounds (вероятно, более поздний), чтобы узнать, сколько места он занял, так что вы можете использовать его как часть смещения к следующему текстовому блоку.

Вероятно, во время этой разработки будет происходить изрядное количество итераций; я бы не ожидал, что она будет выглядеть идеально, когда я попробую ее в первый раз, так что сомневаюсь, что и вы должны это делать! :смеяться: