Wie kann ich C # ImageList Images aus kleineren Komponentenbildern erstellen?

Ich möchte Statussymbole für ein C# WinForms TreeList-Steuerelement erstellen. Die Status sind Kombinationen aus anderen Status (z. B. ein Benutzerknoten könnte inaktiv oder gesperrt oder inaktiv und gebannt sein), und das Statussymbol besteht aus nicht überlappenden, kleineren Glyphen.

Ich möchte wirklich vermeiden, dass ich alle möglichen Permutationen von Statussymbolen manuell erzeugen muss, wenn ich es vermeiden kann.

Ist es möglich, eine Bildliste (oder nur ein paar Bitmap-Ressourcen oder etwas anderes) zu erstellen, mit denen ich die ImageList programmgesteuert generieren kann?

Ich stochere in den System.Drawing-Klassen und nichts springt auf mich. Außerdem stecke ich mit .Net 2.0 fest.

0

2 Antworten

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
hinzugefügt

Verwenden Sie einfach Images.Add von der ImageList, um die einzelnen Bilder hinzuzufügen. Also, etwas wie:


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