Как я могу создавать изображения C # ImageList из изображений компонентов меньшего размера?
-
01-07-2019 - |
Вопрос
Я бы хотел создать значки состояния для элемента управления древовидным списком C # WinForms.Статусы представляют собой комбинации других статусов (например.пользовательский узел может быть неактивным или забаненным, или неактивным и забаненным), а значок статуса состоит из неперекрывающихся символов меньшего размера.
Я бы действительно хотел избежать необходимости вручную генерировать все возможные перестановки значков статуса, если я могу этого избежать.
Возможно ли создать список изображений (или просто кучу растровых ресурсов или что-то в этом роде), которые я могу использовать для создания ImageList программно?
Я копаюсь в системе.Уроки рисования, и мне ничего не бросается в глаза.Кроме того, я застрял на .Net 2.0.
Решение
Bitmap image1 = ...
Bitmap image2 = ...
Bitmap combined = new Bitmap(image1.Width, image1.Height);
using (Graphics g = Graphics.FromImage(combined)) {
g.DrawImage(image1, new Point(0, 0));
g.DrawImage(image2, new Point(0, 0);
}
imageList.Add(combined);
Другие советы
Просто используйте изображения.Добавьте из списка изображений, чтобы добавить отдельные изображения.Итак, что-то вроде:
Image img = Image.FromStream( /*get stream from resources*/ );
ImageList1.Images.Add( img );