Como posso construir C # ImageList Imagens de imagens componentes menores?
-
01-07-2019 - |
Pergunta
Eu gostaria de fazer ícones de status para um controle C # WinForms TreeList. Os estados são combinações de outros estados (por ex. Um nó de utilizador pode estar inactiva ou proibido ou inactiva e proibidos), e o ícone de estado é composta de glifos que não se sobrepõem, menores.
Eu realmente gostaria de evitar ter de mão-gerar todos os possivelmente permutações de ícones de status se eu puder evitá-lo.
É possível criar uma lista de imagem (ou apenas um monte de recursos de bitmap ou algo assim) que eu possa usar para gerar o ImageList programaticamente?
Eu estou bisbilhotando as classes System.Drawing e salto de nada fora de mim. Além disso, estou preso com .Net 2.0.
Solução
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);
Outras dicas
Basta usar Images.Add do ImageList para adicionar nas imagens individuais. Então, algo como:
Image img = Image.FromStream( /*get stream from resources*/ );
ImageList1.Images.Add( img );