begin process at 2010 02 10 13:17:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Multimédia

 > 

Image et Vidéo

 > 

probleme avec pictureBox


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme avec pictureBox

jeudi 27 mars 2008 à 21:51:55 | probleme avec pictureBox

ralf9

bonjour !
voila j'ai un problème avec le pictureBox ??? j'ai fait un code qui charge une image dans pictureBox.
en suite j'ai fait des graphiques (lignes, points) que je dois afficher aussi dans la même pictureBox !!!!
voici mon code complet :

 
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
g = Graphics.FromImage(bmp);

}

private Bitmap bmp;
private Graphics g;
int x, y, x2, y2, i;
 



privatevoid openShapeToolStripMenuItem_Click(object sender, EventArgs e)
{
openFileDialog1.Title = "Choose a shape...";
openFileDialog1.DefaultExt = "jpg";
openFileDialog1.Filter = "Files image JPEG (*.jpg)|*.jpg|Files bitmap(*.bmp)|*.bmp";
if(openFileDialog1.ShowDialog() == DialogResult.OK)
{
Bitmap img = new Bitmap(openFileDialog1.FileName);
pictureBox1.Image = img;

}

}

// cette methode c'est juste pour recuperer la prostion de la souris quand je clique dans pictureBox
privatevoid pictureBox1_MouseClick(object sender, MouseEventArgs e)
{
x = e.Location.X;
y = e.Location.Y;
i++;
 
dessin();
}
privatevoid dessin()
{
 
g.DrawEllipse(new Pen(Color.Red, 2.0f), new Rectangle(new Point(x, y), new Size(4, 4)));
// les testes c'est juste pour faire quand je clique deux fois je dessine une ligne
if(i % 2 != 0)
{
x2 = x;
y2 = y;
}
else
{
g.DrawLine(new Pen(Color.Red), new Point(x2, y2), new Point(x, y));
pictureBox1.Image = bmp;
}
}
}
}


le problème ici c'est que quand je charge l'image sur la pictureBox en
suite je dessine mon graphique la l'image disparaisse ???
qu'est ce que je dois faire pour éviter ce problème ? j'ai pensé a un
truc et ça marche ! c'est de mettre l'image en arrière plan de la
pictureBox mais je pense pas que c'est une bonne idée !! car je veux
récupérer a la fin l'image avec les graphiques (lignes et points)
dessus voila !!!

merci

a+
jeudi 27 mars 2008 à 22:50:23 | Re : probleme avec pictureBox

nhervagault

Administrateur CodeS-SourceS
Salut

Voici un code fonctionnel

        public Form1()
        {
            InitializeComponent();
            bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
            g = Graphics.FromImage(bmp);

        }

        private Bitmap bmp;
        private Graphics g;
        int x, y, x2, y2, i;

        // cette methode c'est juste pour recuperer la prostion de la souris quand je clique dans pictureBox
        private void pictureBox1_MouseClick(object sender, MouseEventArgs e)
        {
            x = e.Location.X;
            y = e.Location.Y;
            i++;

            dessin();
        }
        private void dessin()
        {

            g.DrawEllipse(new Pen(Color.Red, 2.0f), new Rectangle(new Point(x, y), new Size(4, 4)));
            // les testes c'est juste pour faire quand je clique deux fois je dessine une ligne
            if (i % 2 != 0)
            {
                x2 = x;
                y2 = y;
            }
            else
            {
                g.DrawLine(new Pen(Color.Red), new Point(x2, y2), new Point(x, y));

            }
            pictureBox1.Invalidate();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            openFileDialog1.Title = "Choose a shape...";
            openFileDialog1.DefaultExt = "jpg";
            openFileDialog1.Filter = "Files image JPEG (*.jpg)|*.jpg|Files bitmap(*.bmp)|*.bmp";
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                Bitmap img = new Bitmap(openFileDialog1.FileName);
                pictureBox1.Image = img;
                g = Graphics.FromImage(pictureBox1.Image);

            }
        }
vendredi 28 mars 2008 à 00:28:39 | Re : probleme avec pictureBox

ralf9

salut !!!
merci pour ton aide !! désolé de te dire que ça na pas marché ! ben toujour le meme probleme la premiere image c'est bon mais pour le dessin non !
j'espere que t'as compris ce que je veux faire c'est de dessiner des lignes avec des points au dessus de l'image !!
vendredi 28 mars 2008 à 13:41:34 | Re : probleme avec pictureBox

nhervagault

Administrateur CodeS-SourceS
Désolé
Je viens de le refaire et ca fonctionne.

Nouveau projet
un picturebox
un opendialog
on colle tout mon code
on rebranche les 2 eveneements
et ca fonctionne

J'ai des lignes rouge dessus mon image
entre le click1 et le click2 sur la souris


Quelle est ton erreur?

 

samedi 29 mars 2008 à 13:46:45 | Re : probleme avec pictureBox

ralf9

salut !!
je viens de reessayer ton code et ca ne marche pas encore !! pas d'erreur de compilation mais par contre aucune ligne ni point se dessine au dessus de l'image
samedi 29 mars 2008 à 22:44:34 | Re : probleme avec pictureBox

nhervagault

Administrateur CodeS-SourceS
Tu n'a surement pas
mis correctement mon code
la picture box est bien avec les attributs par defaut
sinon tu as une translation effectuer pour les remettre a l'echelle

exemple une image reduite par 5 dans la picture box ---> la ligne reduite par 5 dans la picturebox et donc peut invisible
essaye avec une image blanche et tes points rouge et tu veras mieux
lundi 31 mars 2008 à 00:02:18 | Re : probleme avec pictureBox

ralf9

salut
je ne peux pas me tromper car j'ai fait un copier/coller de ton code  !! j'ai ajoute uniquement le code qui me permet d'ouvrir une image a partir du disque dur !! voila le code qui charge une image en utilisant le openFileDialog !!!

openFileDialog1.Title =
"Choose a shape...";

openFileDialog1.DefaultExt = "jpg";

openFileDialog1.Filter = "Images file JPEG (*.jpg)|*.jpg|Bitmap file (*.bmp)|*.bmp";

if (openFileDialog1.ShowDialog() == DialogResult .OK)

{

Bitmap img = new Bitmap (openFileDialog1.FileName);

pictureBox1.Image=img;

}
c'est tout !!!!!!!!

lundi 31 mars 2008 à 09:57:27 | Re : probleme avec pictureBox

nhervagault

Administrateur CodeS-SourceS
Et le code dans button1_Click, il ne permet de charger une image à partir du disque dur??

Il manque la ligne que j'ai mis en bleu car tres important?

g = Graphics.FromImage(pictureBox1.Image);


lundi 31 mars 2008 à 18:36:32 | Re : probleme avec pictureBox

ralf9

salut voila essaye ce code la stp,

namespace

WindowsFormsApplication1

{

      publicpartialclassForm1 : Form

      {

            privateBitmap bmp;

            privateGraphics g;

            int x, y, x2, y2, i;

            public Form1()

            {

                     InitializeComponent();

                     bmp =

newBitmap(pictureBox1.Width, pictureBox1.Height);

                     g =

Graphics.FromImage(bmp);

            }

            privatevoid pictureBox1_MouseClick(object sender, MouseEventArgs e)

            {

                  x = e.Location.X;

                  y = e.Location.Y;

                  i++;

               dessin();

            }

            privatevoid dessin()

            {

                  g.DrawEllipse(

newPen(Color.Red, 2.0f), newRectangle(newPoint(x, y), newSize(4, 4)));

// les testes c'est juste pour faire quand je clique deux fois je dessine une ligne

                  if (i % 2 != 0)

                  {

                        x2 = x;
                        y2 = y;
                  }

                  else

                  {

                        g.DrawLine(

newPen(Color.Red), newPoint(x2, y2), newPoint(x, y));

                  }

                  pictureBox1.Invalidate();

           }

            privatevoid openToolStripMenuItem_Click(object sender, EventArgs e)

              {

                     openFileDialog1.Title =

"Choose a shape...";

                     openFileDialog1.DefaultExt =

"jpg";

                     openFileDialog1.Filter =

"Files image JPEG (*.jpg)|*.jpg|Files bitmap(*.bmp)|*.bmp";

                     if (openFileDialog1.ShowDialog() == DialogResult.OK)

                     {

                              Bitmap img = newBitmap(openFileDialog1.FileName);

                              pictureBox1.Image = img;

                              g =

Graphics.FromImage(pictureBox1.Image);

                     }

         }

         privatevoid saveShapeToolStripMenuItem_Click(object sender, EventArgs e)

          {

               SaveFileDialog sauve = newSaveFileDialog();

               sauve.Title =

"Save as ...";

               sauve.InitialDirectory =

"c:/";

               sauve.Filter =

"Jpeg files (*.jpg)|*.jpg|Bitmap files (*.bmp)|*.bmp";

               if (sauve.ShowDialog() == DialogResult.OK)

                {

                     bmp.Save(sauve.FileName);

                 }

         }

}

}

et sur la forme tu mets :
- openFileDialog
- saveFileDialog
- pictureBox
- menuStrip (load puis open et dans open tu mets le code pour ouvrir une image et sauve shape pour sauvgarder le contenu de pictureBox )

le resultat souhaite : mettre sur la pictureBox une image en suite quand je clique a l'interieur de pictureBox le programme dessine un point et si je clique une deuxieme fois le programme dessine un autre point et une ligne qui relie les deux points ! en suite quand tu sauvgarde l'image obtenue doit contenir les points et la ligne essaye ton code et tu veras si ca marche !!! (je pense pas ! j'ai meme pas pu dessiner les deux points et la ligne avec)
a+

lundi 31 mars 2008 à 18:37:28 | Re : probleme avec pictureBox

ralf9

ahh desole pour l ecriture !!!

1 2

Cette discussion est classée dans : system, image, picturebox, using, bmp


Répondre à ce message

Sujets en rapport avec ce message

Utilisation System.Resources [ par jeanajaccio ] Bonjour à tous,J'ai besoin d'un petit coup de main :J'ai créé un méthode qui génére dynamiquement une picture box mais je voudrais que l'image change plantage du prog [ par shinevilkyo ] lu all,j ai code un explorateur win en csharp eilmarche super sur le dd ou sur tt disque logique mais kan le contenue est trop gros a afficher ds une pb de pictureBox [ par JCpp ] Bonjour,   Je voudrais superposer deux images avec le pictureBox. La 1er image est en BMP et par-dessus, il y a une image en GIF avec un backgrond pou Faire une galerie d'image qui soit sélectionnable mais sans connaitre le nombre d image [ par zarmin ] Bonjour à tous! Je dois faire un programme qui permet de sélectionner plusieurs images. Les images doivent être disposées les une à coté des autres m Insertion de texte dans une image BMP (8bites par pixel) [ par Hammings ] Bonjour, En voulant insérer du texte dans une image bmp, je me retrouve confronter à un dilem. mon image à la base elle du format bmp ( 8 bits par pix bitmap [ par AXELMEDICAL ] salut!j'ai un system.byte[] qui contient le totalité des informations de mon image bmp.Losrque que je les écrit dans un fichier tout ce passe bien .Ma Sauvegarder le contenu d'un picturebox dans un .bmp [ par guillaume_quest ] Bonjour à tous, Je voudrais exporter l'image contenue dans une picturebox vers un fichier image style BMP ou JPEG.Merci d'avance, Guillaume Bitmap et LockBits [ par fprado ] Bonjour,J'ai un souci d'affichage d'une image bitmap dans une pictureBox. Je récupère les données d'un byte[] que je convertis en bitmap. Ma pictureBo Filestream est introuvable [ par lutin06 ] SalutFranchement ya des trucs incompréhensibles quand meme.J'ai un code de ce type :[CODE]using System;using System.IO;using System.Runtime.Serializat Probleme avec fonction smoothingmode du system.drawing.image [ par kowalska ] Bonjour a tous, Nous avons un serveur en windows 2000. Nous avons un script C# qui utilise system.drawing.image. Script utilisé System.Drawing.Im


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,123 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales