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

C# Discussion :

Enregistrer le modification sur une image.


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de richard_sraing
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2005
    Messages : 483
    Par défaut Enregistrer le modification sur une image.
    Bonjour à tous,

    Voilà, comme certains d'entre vous l'aurons sûrement remarqué, je suis très actif ces derniers temps .

    En fait cette fois, je voudrais savoir comment je peux faire pour enregistrer les modifications apportées à une image( par enregistrer qu'on se comprenne bien, écrire les modifications dans le même fichier ).

    Alors je vais vous expliquer la manière dont je procède pour ouvrir une image (j'ouvre de deux façons différentes, une fois une image seule, et une fois les images situées dans un répertoire spécifié par l'utilisateur).
    Lors de l'ouverture d'un répertoire d'image, je place les noms des images dans une "ArrayList". Je procède de la sorte pour pouvoir parcourrir mes images en tant que miniatures dans mon applic.
    Voici un screen de mon applic:



    Voilà, lorsque je clique sur une image dans la barre de miniature, celle-ci s'affiche en temps qu'image principale.

    J'ai déjà fais une option qui me permet de "sauver sous".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
            //
            //  Enregistrer Sous
            //
            private void _mspfEnregistrerSous_Click(object sender, EventArgs e)
            {
                Bitmap Img = (Bitmap)_pbImage.Image;
                _sfdPrincipal.Title = "Enregistrer l'image sous...";
                _sfdPrincipal.DefaultExt = "*.jpg";
                if (_sfdPrincipal.ShowDialog() == DialogResult.OK)
                {
                    _sfdPrincipal.AddExtension = true;
                    Img.Save(_sfdPrincipal.FileName);
                }
            }
    Maintenant, pour sauver l'image sur l'image de départ, je ne sais pas comment faire pour récupérer le nom de mon fichier image. Est ce que je dois repasser par mon ArrayList, ou est ce qu'il y a moyen de récupérer le nom d'une image?
    Une méthode du genre "<MonImage>.<GetFileName>" existe-t-elle?

    Si je dois repasser par mon ArrayList, comment est ce que je pourrais faire pour comparer si l'image que j'ai en image principale correspond au nom du fichier? Je vais devoir ouvrir l'image de mon ArrayList et la comparer à l'image modifiée, mais vu qu'elle est modifiée, elles ne sauront pas être égale .

    Quelqu'un pourrait-il me donné un conseil ou une marche à suivre?

    Voici pour terminer l'ouverture d'une répertoire:

    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
            //
            //  Ouverture d'un répertoire d'images
            //
            private void _mspfOuvrirRep_Click(object sender, EventArgs e)
            {
                string CheminComplet;
                _sbpEtat.Text = "Ouverture d'un répertoire";
     
                // afficher la boite de dialogue
                _fbdPrincipal.Description = "Ouverture d'un répertoire";
                if (_fbdPrincipal.ShowDialog(this) == DialogResult.OK)
                {
                    DirectoryInfo Di = new DirectoryInfo(_fbdPrincipal.SelectedPath);
     
                    foreach (FileInfo Fi in Di.GetFiles("*.jpg"))
                    {
                        CheminComplet = _fbdPrincipal.SelectedPath + "\\";
                        CheminComplet = CheminComplet + Fi.Name ;
                        ListeImage.Add(CheminComplet);
                    }
     
                    // place les 4 premières images dans les miniatures
     
                    for (i = 0; i < 4 && i < ListeImage.Count; i++)
                    {
                        if (i == 0)
                        {
                            _pbMiniature1.Image = (Bitmap)Bitmap.FromFile(ListeImage[i].ToString());
                            _pbImage.Image = _pbMiniature1.Image;
                            _pbMiniature1.Invalidate();
                        }
                        else if (i == 1)
                        {
                            _pbMiniature2.Image = (Bitmap)Bitmap.FromFile(ListeImage[i].ToString());
                            _pbMiniature2.Invalidate();
                        }
                        else if (i == 2)
                        {
                            _pbMiniature3.Image = (Bitmap)Bitmap.FromFile(ListeImage[i].ToString());
                            _pbMiniature3.Invalidate();
                        }
                        else if (i == 3)
                        {
                            _pbMiniature4.Image = (Bitmap)Bitmap.FromFile(ListeImage[i].ToString());
                            _pbMiniature4.Invalidate();
                        }
                    }
                }
            }
    Les _pbMiniatureX étant bien sûr mes images se trouvant dans le fond de l'applic .

    Merci pour tout les conseils que vous pourrez me donner. si jamais vous avez besoin de plus de détails concernant l'applic, faites le moi savoir, je rajouterais ce qu'il faut.

    Encore merci, richard_sraing

  2. #2
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    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
     
    class MyBitmap : Bitmap
    {
        private readonly string m_fileName;
     
        public MyBitMap(string fileName)
            :base(Image.FromFile(fileName))
        {
            m_fileName = fileName;
        }
     
        public MyBitMap(Image original, string fileName)
            :base(original)
        {
            m_fileName = fileName;
        }
     
        public string FileName
        {
            get { return m_fileName; }
        }

  3. #3
    Membre éclairé Avatar de richard_sraing
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2005
    Messages : 483
    Par défaut
    J'ai trouver une autre façon un peu barbare de la faire.

    Je place le nom du fichier dans le Tag de mes pictureBox.
    Ainsi il me suffit de dire:

    <MonImage>.Save(<Tag de ma pictureBox>);

    Merci Sam_XII

    Merci à toi aussi neptune, j'essayerai ta méthode une fois que tout sera fini, voir si j'y arrive, on verra bien

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

Discussions similaires

  1. Enregistrer les modification sur une base
    Par solo1 dans le forum VB.NET
    Réponses: 0
    Dernier message: 09/01/2010, 22h34
  2. Réponses: 7
    Dernier message: 20/08/2009, 18h00
  3. Réponses: 6
    Dernier message: 15/11/2007, 12h31
  4. Zoom sur une image
    Par AurelBUD dans le forum C++Builder
    Réponses: 5
    Dernier message: 07/05/2004, 17h05
  5. Comment mettre un label sur une image
    Par dug dans le forum MFC
    Réponses: 3
    Dernier message: 07/04/2004, 10h40

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