2008-09-18 2 views
0

Я хочу сделать значки состояния для элемента управления C# WinForms TreeList. Статусы представляют собой комбинации других статусов (например, пользовательский узел может быть неактивным или запрещенным или неактивным и запрещенным), а значок состояния состоит из неперекрывающихся, меньших глифов.Как я могу создать C# ImageList Изображения из изображений меньшего размера?

Мне очень хотелось бы избежать необходимости генерировать все возможные перестановки значков состояния, если я смогу его избежать.

Возможно ли создать список изображений (или просто кучу растровых ресурсов или что-то еще), которые я могу использовать для программного создания ImageList?

Я ковыряю классы System.Drawing и ничего не выпрыгиваю на меня. Кроме того, я застрял с .Net 2.0.

ответ

1
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); 
0

Просто используйте Images.Add из ImageList, чтобы добавить в отдельные изображения. Итак, что-то вроде:


Image img = Image.FromStream(/*get stream from resources*/); 
ImageList1.Images.Add(img);