Популярным подходом является использование DocBook XSL Stylesheets .
Если вам просто нужна сплошная кисть со случайным цветом, вы можете попробовать следующее:
Random r = new Random();
int red = r.Next(0, byte.MaxValue + 1);
int green = r.Next(0, byte.MaxValue + 1);
int blue = r.Next(0, byte.MaxValue + 1);
System.Drawing.Brush brush = new System.Drawing.SolidBrush(Color.FromArgb(red, green, blue));
Это можно сделать с помощью функции преобразования
struct proxy {
string str;
proxy(string const &str):str(str) { }
template<typename T> operator T() {
return boost::lexical_cast<T>(str);
}
};
proxy parse(string const &str) { return proxy(str); }
Теперь вам просто нужно сделать
float a = parse("3.1");
И он должен хорошо работать . Кстати, вы можете просто использовать класс напрямую.
Я предлагаю получить список достаточного количества образцов кистей и произвольно выбирать оттуда.
Простое получение случайного цвета приведет к ужасным цветам, и вы можете легко создать список из 50 цветов, который затем можно использовать каждый раз, когда вам понадобится случайный цвет.