Windows et les fonds d’écrans
Mardi 17 juin 2008 à 07 h 59
Je suis actuellement entrain de développer un petit logiciel minimaliste qui permettrais, a partir d’un ou plusieurs dossier de faire un cycle aléatoires sur les fond d’écran présents dans ce(s) dossier(s).
Je me suis lancé dans ce projet pour combler un besoin, l’idée n’est pas de créer un gros projet a vocation international, juste une occasion pour moi de me lancer dans le C# tout en créant quelque chose d’utile pour moi.
Pour la petite histoire le tout est développé en C# donc via Visual Studio 2008 et le Framework .Net dans sa version 3.5
Durant le développement je me suis rendu compte de quelque chose d’assez surprenant, a savoir que Windows ne supporte rien d’autre que le .Bmp comme format de fond d’écran, lorsque vous lui balancez un autre format, il stocke un bmp temporaire qui est la transformation de votre image dans ce format. Vista intègre néanmoins la gestion des jpg.
On en vient a donc a mon « probleme », au moment de passer le fond d’ecran a Windows pour effectuer le change, je teste son extension et le cas écheant effectue la conversion, le soucis c’est que cette conversion est plutôt couteuse niveau proc et mémoire, de plus elle est plutôt lente (moins d’1 seconde mais ça ce sent).
Actuellement j’utilise la lib fournit avec le framework .Net pour la conversion :
Image Myimage = Image.FromFile(filename);
Myimage.Save("Temp.bmp", System.Drawing.Imaging.ImageFormat.Bmp);
Et je voulais savoir si quelqu’un connaissait un système/methode plus optimisé pour cela.
Je me suis lancé dans ce projet pour combler un besoin, l’idée n’est pas de créer un gros projet a vocation international, juste une occasion pour moi de me lancer dans le C# tout en créant quelque chose d’utile pour moi.
Pour la petite histoire le tout est développé en C# donc via Visual Studio 2008 et le Framework .Net dans sa version 3.5
Durant le développement je me suis rendu compte de quelque chose d’assez surprenant, a savoir que Windows ne supporte rien d’autre que le .Bmp comme format de fond d’écran, lorsque vous lui balancez un autre format, il stocke un bmp temporaire qui est la transformation de votre image dans ce format. Vista intègre néanmoins la gestion des jpg.
On en vient a donc a mon « probleme », au moment de passer le fond d’ecran a Windows pour effectuer le change, je teste son extension et le cas écheant effectue la conversion, le soucis c’est que cette conversion est plutôt couteuse niveau proc et mémoire, de plus elle est plutôt lente (moins d’1 seconde mais ça ce sent).
Actuellement j’utilise la lib fournit avec le framework .Net pour la conversion :
Image Myimage = Image.FromFile(filename);
Myimage.Save("Temp.bmp", System.Drawing.Imaging.ImageFormat.Bmp);
Et je voulais savoir si quelqu’un connaissait un système/methode plus optimisé pour cela.
7 commentaires, dernier de Wraxou.