Je cherchais à lire une image embedded dans une dll et à l'afficher dans un bouton.

Edit: c'est bon j'ai trouvé, pour ceux que ça intéresse, voici le code qui le fait

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
 
private void loadSplash()
        {
            Assembly assembly;
 
            DirectoryInfo dir = new DirectoryInfo("Modules");
 
            if (dir.Exists)
            {
                foreach (FileInfo fi in dir.GetFiles("*.dll"))
                {
                    try
                    {
                        assembly = Assembly.LoadFrom("Modules/" + fi.Name);
 
 
                        foreach (string source in assembly.GetManifestResourceNames())
                        {
                            if (source.Contains("splash"))
                            {
                                Button b = new Button();
                                Image myImage = new Image();
                                myImage.Width = 128;
 
                                BitmapImage myBitmapImage = new BitmapImage();
                                myBitmapImage.BeginInit();
                                myBitmapImage.StreamSource = assembly.GetManifestResourceStream(source);
 
                                myBitmapImage.DecodePixelWidth = 128;
                                myBitmapImage.EndInit();
 
                                myImage.Source = myBitmapImage;
 
                                b.Content = myImage;
                                b.Width = b.Height = 128;
 
                                this.Content = b;
                            }
                        }
 
 
                    }
                    catch (ReflectionTypeLoadException ex)
                    {
                        foreach (Exception e in ex.LoaderExceptions)
                        {
                            Console.WriteLine(e);
                        }
                    }
                    catch (System.BadImageFormatException e) { }
                    catch (System.IO.FileLoadException e) { }
                }
            }
        }