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 :

Slicing d'images


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de 3logy
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2007
    Messages : 280
    Par défaut Slicing d'images
    Bonjour tout le monde,

    voici j'ai un probleme , j'ai 2 picturebox :
    - Dans l'une je charge une image que j'aimerais decoupe en 2 x 2 et envoye le resultat dans le 2eme picturebox.

    j'ai vu des exemples sur le net qui ne m'ont pas aide!!

    J'aimerais bien savoir comment decouper une image en plusieurs parties sur C#.


    Merci

    ps : je suis un debutant

  2. #2
    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 : 43
    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
    Par défaut
    Ca veut dire quoi "découper en 2x2" ? découper en 4 ? Dans ce cas tu envoies quelle partie dans la 2e picturebox ? Il faudrait préciser un peu ta question

    Sinon, pour découper une image, le plus simple est de créer une nouvelle image, de créer un Graphics dessus, et de dessiner dessus une partie de l'ancienne image :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Bitmap newImage = new Bitmap(oldImage.Width / 2, oldImage.Height / 2);
    using (Graphics g = Graphics.FromImage(newImage))
    {
        g.DrawImage(oldImage, 0, 0, new Rectangle(oldImage.Width / 2, oldImage.Height / 2), GraphicsUnit.Pixel);
    }

  3. #3
    Membre éclairé Avatar de 3logy
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2007
    Messages : 280
    Par défaut
    Desole Tomlev! tu as raison!

    oui je veux diviser en 4 parties dont 2 slices de chaque côtes et tous doivent etre visibles sur le deuxieme picturebox.

    Avec la formule que tu m'as donne beh en fait je ne vois pas comment envoye le graphic g a mon deuxieme picturebox.

    Merci de l'aide.

  4. #4
    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 : 43
    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
    Par défaut
    Citation Envoyé par 3logy Voir le message
    oui je veux diviser en 4 parties dont 2 slices de chaque côtes et tous doivent etre visibles sur le deuxieme picturebox.
    Je comprends pas trop... tu veux pas poster une image pour illustrer ?

    Citation Envoyé par 3logy Voir le message
    Avec la formule que tu m'as donne beh en fait je ne vois pas comment envoye le graphic g a mon deuxieme picturebox.
    C'est pas le graphics que tu affectes à la 2e picturebox, c'est l'image (newImage dans mon code)

  5. #5
    Membre éclairé Avatar de 3logy
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2007
    Messages : 280
    Par défaut
    Bon voici a quoi ressemble une image divise (voir image)...

    Et dans ta methode ; j'ai un probleme au niveau du , il semble que le nombre de parametre pris n'est pas accepte.

    Par contre j'ai utilise cette methode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Bitmap newimage = new Bitmap(picBox1.Width / 2, picBox1.Height / 2);
     
                using (Graphics g = Graphics.FromImage(newimage))
                {
                    g.DrawImage(vorschauBox.Image, 0, 0, new Rectangle(new Point(0,0), picBox1.Size), GraphicsUnit.Pixel);
                }
                picBox2.Image = newimage;
    Bon en fait il me retourne bien une image; mais juste la premiere image en Haut a gauche! pas les quatres images !

    Merci

  6. #6
    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 : 43
    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
    Par défaut
    Citation Envoyé par 3logy Voir le message
    Bon voici a quoi ressemble une image divise (voir image)...
    Ah ok, c'est plus clair... ce serait pas plus simple de les mettre dans 4 PictureBox ?

    Citation Envoyé par 3logy Voir le message
    Et dans ta methode ; j'ai un probleme au niveau du , il semble que le nombre de parametre pris n'est pas accepte.
    Ah oui, au temps pour moi... ajoute 0, 0 comme premiers paramètres (pour la partie en haut à gauche), ça devrait le faire

    Citation Envoyé par 3logy Voir le message
    Par contre j'ai utilise cette methode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Bitmap newimage = new Bitmap(picBox1.Width / 2, picBox1.Height / 2);
     
                using (Graphics g = Graphics.FromImage(newimage))
                {
                    g.DrawImage(vorschauBox.Image, 0, 0, new Rectangle(new Point(0,0), picBox1.Size), GraphicsUnit.Pixel);
                }
                picBox2.Image = newimage;
    Bon en fait il me retourne bien une image; mais juste la premiere image en Haut a gauche! pas les quatres images !
    Il faut faire pareil pour les autres "quarts" de l'image, en modifiant les coordonnées du rectangle :
    0, 0 = en haut à gauche
    width / 2, 0 = en haut à droite
    0, height / 2 = en bas à gauche
    width / 2, height / 2 = en bas à droite

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

Discussions similaires

  1. Intégrer slice 2d dans image volume 3d
    Par Manu86 dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 12/12/2008, 13h11
  2. Resize d'une image
    Par Anonymous dans le forum C
    Réponses: 6
    Dernier message: 13/07/2008, 22h23
  3. recherche des algorythmes pour images 2d
    Par exxos dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 24/05/2002, 13h46
  4. lire une image au format RAW
    Par Anonymous dans le forum OpenGL
    Réponses: 5
    Dernier message: 20/05/2002, 00h11
  5. Création image BMP
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 16h04

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