IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

[C# 2.0->3.5] Comment convertir des Images ?


Sujet :

Windows Presentation Foundation

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 612
    Points : 338
    Points
    338
    Par défaut [C# 2.0->3.5] Comment convertir des Images ?
    Bonjour,

    J'ai developpez une librairie contenant des *.png sous forme de Resources Incorporer. Elles sont organiser dans un systeme de dossier.

    Pour y acceder j'utilise
    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
            private static Image LireImage_Generique(object nom, Taille taille)
            {
                Image _tmp;
                Assembly _assembly = Assembly.GetExecutingAssembly();
     
                string _dir = Correspondance.ObtenirChemin(nom);
     
                if (!String.IsNullOrEmpty(_dir))
                {
                    _tmp = Image.FromStream(_assembly.GetManifestResourceStream(_dir));
     
                    return new Bitmap(_tmp, Correspondance.ObtenirSize(taille));
                }
                else
                    return null;
            }
    J'aimerais utiliser cette librairie C#2.0 dans mon application C#3.5

    Il faudrais donc convertir les "Image" en "Image", elle porte le meme nom mais n'ont pas la meme librairie d'origine

    Après quelque recherche j'ai trouver ImageSourceConverter qui accepte les Stream du C#2.0 mais hélas pas les Image du C#2.0....

    Après pour passer d'une Image C#2.0 a un Stream je n'ai rien vu...


    quelqu'un a une idèe performante pour mon soucis?


    si non, quelqu'un sait-il comment recuperer une Resource Incorporè en Image sous C#3.5?

    merci

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Citation Envoyé par TheBlackReverand Voir le message
    si non, quelqu'un sait-il comment recuperer une Resource Incorporè en Image sous C#3.5?

    merci
    C'est la même chose qu'en C# 2 normalement: la CLR est la même, seul des APIs ont été rajoutées. Quel est ton pb ?

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Pas très clair ton affaire... Je crois comprendre que tu cherches comment convertir un System.Drawing.Image (utilisé par exemple dans Windows Forms) en System.Windows.Media.ImageSource (utilisé par WPF). La seule méthode que j'ai trouvé jusqu'ici consiste en ceci :
    1. Ecrire la System.Drawing.Image dans un MemoryStream
    2. Créer une instance de BitmapImage (qui hérite de ImageSource)
    3. L'initialiser avec le MemoryStream

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public ImageSource ImageToImageSource(System.Drawing.Image image)
    {
        MemoryStream ms = new MemoryStream();
        img.Save(ms);
        BitmapImage imageSource = new BitmapImage();
        imageSource.BeginInit();
        imageSource.StreamSource = ms;
        imageSource.EndInit();
        ms.Close();
        return imageSource;
    }

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 612
    Points : 338
    Points
    338
    Par défaut
    merci cette fonction correspond tout a fait a mes besoin

    neanmoins j'ai du retirer le ms.Close()

    le passage ce faisant par reference imageSource.StreamSource avais un problème de reference

    'imageSource.StreamSource.Position' a levé une exception de type 'System.ObjectDisposedException'

    une petite question pour etre sur, si j'utilise une librairie 100% C#2.0 et un projet C#3.5

    quand je veut installer mon logiciel, l'installation du framework 3.5 suffit?
    je pense mais je prefere etre sur

    merci pour tout

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par TheBlackReverand Voir le message
    quand je veut installer mon logiciel, l'installation du framework 3.5 suffit?
    Le 3.5 repose sur le 2.0, donc je pense que le 3.5 installe aussi le 2.0 s'il n'est pas déjà là

  6. #6
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Le 3.5 repose sur le 2.0, donc je pense que le 3.5 installe aussi le 2.0 s'il n'est pas déjà là

    Vu que le 3.5 fait 250 Mo, je pense que oui, il installe aussi le 2.0

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 612
    Points : 338
    Points
    338
    Par défaut
    ok merci bien

    comme fort souvent ==>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Image]Comment convertir des images bmp en jpg avec PHP ?
    Par amarcil dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 15/04/2006, 13h59
  2. comment convertir des secondes en hh:mm:ss en xsl
    Par Jayceblaster dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 22/07/2005, 10h24
  3. Comment convertir une image bmp en png??
    Par Leclair2000 dans le forum Langage
    Réponses: 2
    Dernier message: 03/05/2005, 08h15
  4. Comment convertir une image 24 bits en 8 bits ?
    Par James64 dans le forum Langage
    Réponses: 22
    Dernier message: 13/12/2004, 20h12
  5. [C#] Comment convertir une image bmp en jpg !!!
    Par vandeyy dans le forum Windows Forms
    Réponses: 5
    Dernier message: 13/07/2004, 20h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo