Я хотел бы знать рекомендуемую библиотеку или процедуру для работы с разноцветным текстом в Java. Мое текущее использование java.awt.Graphics, в то время как функция, кажется, немного сложнее, чем необходимо.
Основная проблема связана с частым изменением цвета, созданием нового объекта java.awt.Colour () всякий раз, когда требуется новый цвет (и обычно это не одно из предопределенных значений.) Я уже отслеживаю ранее использовавшиеся Значение RGB, но возможно, что цвет может измениться на уникальные значения для каждого символа, который я рисую:
java.awt.Color colorRender = new java.awt.Color(rgb);
g.setColor(colorRender);
Я также запустил профилировщик в своем коде и выявил вторичное узкое место в крайнем случае. Я подозреваю, что это может быть метод, используемый для рисования одного символа, но могут быть накладные расходы при определении указанного символа:
char[] c = new char[1]; // Created once for many uses
/* ... */
g.drawChars(charRender, 0, 1, x, y);
Я посмотрел на класс BufferedImage - хотя он отлично подходит для графики на уровне пикселей, он напрямую не поддерживает рисование символов.