|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : probleme avec pictureBox [ Multimédia / Image et Vidéo ] (ralf9)
Informations & options pour cette discussion
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
|
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
|
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
|
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
|
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 !!!
|
|
|
Cette discussion est classé 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
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
|