2010-01-22 4 views
4

J'essaie d'écrire un programme simple pour changer mon fond d'écran. J'utilise un fichier jpeg téléchargé et je voudrais le convertir en code. Le problème est que le bitmap doit avoir 24 bits à afficher. Comment est-ce que je fais ceci? Merci d'avance.Modifier le fond d'écran en utilisant un fichier Jpeg

public class ChangeWallpaper 
{ 
    [DllImport("user32.dll", CharSet = CharSet.Auto)] 
    static extern int SystemParametersInfo(int uAction, int uParam, string lpvParam, int fuWinIni); 

    public static void Main() 
    { 
     Bitmap wallbm = new Bitmap("pic.jpg"); 
     wallbm.Save("pic.bmp"); 
     SystemParametersInfo(20, 0, "pic.bmp", 0x01 | 0x02); 
    } 
} 
+0

Ceci est évidemment pour une version de Windows basé sur le code, mais vous voudrez peut-être préciser que et étiqueter comme tels . Cela aidera quelqu'un qui est plus familier avec ce sujet à trouver et répondre à votre question. – Dolph

Répondre

2

Je n'ai pas réussi à faire fonctionner Clone pour une raison quelconque. j'ai pu le faire fonctionner par essais et erreurs en utilisant le code suivant:

public class ChangeWallpaper 
{ 
    [DllImport("user32.dll", CharSet = CharSet.Auto)] 
    static extern int SystemParametersInfo(int uAction, int uParam, string lpvParam, int fuWinIni); 

    public static void Main() 
    { 
     Bitmap bm = new Bitmap(Image.FromFile("pic.jpg")); 
     bm.Save("pic.bmp", ImageFormat.Bmp); 
     SystemParametersInfo(20, 0, "pic.bmp", 0x01 | 0x02); 
    } 
} 
0

Utilisez la méthode Bitmap.Clone() et spécifiez le format de pixel souhaité.

Questions connexes