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 : dessiner un graphics sur une image contenue dans une pictureBox [ Archives / Au secours ] (godefrw)

mardi 5 octobre 2004 à 16:48:58 | dessiner un graphics sur une image contenue dans une pictureBox

godefrw

Bonjour, je cherche à afficher un objet Graphics (sur lequel j'ai dessiner des formes rectangles, rond etc) par dessus une image. Mon image est contenu dans un picutureBox.

Je procède de la manière suivante:
_créatioon du pictureBox.

_creation d'un bitmap à partir d'une image
Bitmap objet = new Bitmap(thisform.Image);

_creation du graphics à partir de mon bitmap
g = Graphics.FromImage(objet);

_dessin sur le graphique

_ajout de mon bitmap comme image de la pictureBox

J'ai un problème car les formes ne semblent pas être dessinées à l'échelle de la pictureBox et avec les coordonnées calculer par rapport à la picturebox.
Si quelqu'un pouvait me filer un tuyaux...

Ced

mardi 5 octobre 2004 à 19:10:37 | Re : dessiner un graphics sur une image contenue dans une pictureBox

gg00xiv

Regarde du côté de la propriété SizeMode de ta PictureBox.


Membre du Labo .NET
gg00xiv's Blog

mercredi 6 octobre 2004 à 11:04:20 | Re : dessiner un graphics sur une image contenue dans une pictureBox

godefrw

Tuc as raison le problème vient de là. J'avais mis à size mode la valeur stretchImage. J'aimerais bien pouvoir malgré tout garder cette proprité car je peux manipuler des images de taille différente et je veux que mon application affiche l'image en eentier quelque soit la taille de la fenêtre. Sinon ça fonctionne convenablement au niveau du dessin avec les valeurs normal et autosize.
Ced

mercredi 6 octobre 2004 à 18:28:21 | Re : dessiner un graphics sur une image contenue dans une pictureBox

coq

Administrateur CodeS-SourceS
dans ce cas là il va falloir que tu calcules tes coordonnées de dessin suivant les dimensions du picturebox

sinon une autre solution :
tu crée un Bitmap avec les mêmes dimensions que ton image
tu crée un Graphics dessus
tu dessines l'image sur le Bitmap
tu fais tes autres dessins (donc avec la taille réelle de l'image)
puis tu affectes le Bitmap au PictureBox
ainsi tes dessins "profiteront" aussi de l'agrandissement ou de la reduction


Cocoricoooooooo !!!!

lundi 11 octobre 2004 à 11:22:58 | Re : dessiner un graphics sur une image contenue dans une pictureBox

godefrw

Peux-tu me donner quelques précisions?
J'essaye de faire la deuxième méthode que tu m'as donnée mais je bloque sur le dessin de l'image sur le bitmap:
voilà mon code
Bitmap objet = new Bitmap(MyImage.Width, MyImage.Height);
g = Graphics.FromImage(objet);

J'essaye ensuite d'utiliser la fonction drawImage sur le Graphics mais il existe 30 surcharges de cette fonction; il semble à chaque qu'il faille préciser la taille ou le point supérieur gauche. J'en est essayé quelques (dont g.drawImage(MyImage, ma_pictureBox.loction.x, ma_pictureBox.location0.y) )qui ne m'ont pas donné de résultats intéressants. A quoi pensais-tu?


Ced

lundi 11 octobre 2004 à 11:54:17 | Re : dessiner un graphics sur une image contenue dans une pictureBox

coq

Administrateur CodeS-SourceS
DrwImageUnscaled me parait plus appropriée dans ton cas en fait
sinon le graphics est defini sur le bitmap et non le form, donc les coordonnées 0,0 me semblent plus correctes :)


Cocoricoooooooo !!!!
coq
MVP Visual C#

lundi 11 octobre 2004 à 14:26:06 | Re : dessiner un graphics sur une image contenue dans une pictureBox

godefrw

Ca ne marche pas...J'ai utilsé ce code:
g.DrawImageUnscaled(MyImage,0,0,thisform.Width,thisform.Height);
Je pense que la solution de calculer les coordonnées de dessin en fonction de la taille de la pictureBox est meilleure. Par contre je ne sais absoluement pas le faire.
En fait dans mon application c'est l'utilisateur qui déssine. Il dessine un rectangle qu'il étire en déplaçant la souris. Je recupère les coordonnées de ce rectangle dans la pictureBox grasse à la position du cursor de la souris. Je trace ensuite le rectangle. En théorie les coordonnées de dessin sont déjà calculer en fonction de la taille de la pictureBox non?
si tu as une idée lumineuse...
Ced

lundi 11 octobre 2004 à 18:15:13 | Re : dessiner un graphics sur une image contenue dans une pictureBox

coq

Administrateur CodeS-SourceS
Réponse acceptée !
ah

bon un petit exemple vaut mieux qu'un long discours, je crois que ça correspond à ce que tu veux faire :

private Point m_debut_rect;

private void pictureBox_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
m_debut_rect = new Point(e.X, e.Y);
}

private void pictureBox_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{
Bitmap bmp = new Bitmap(pictureBox.Image, pictureBox.Size);
Graphics g = Graphics.FromImage(bmp);
Rectangle rectangle = Rectangle.FromLTRB(m_debut_rect.X, m_debut_rect.Y, e.X, e.Y);
g.DrawRectangle(Pens.Black, rectangle);
pictureBox.Image = bmp;
}


bon ce code ne dessinera le rectangle que si l'utilisateur "dessine" dans le sens "selection point haut-gauche" puis "selection point bas-droit" mais je te laisse regler ce léger détail :)


Cocoricoooooooo !!!!
coq
MVP Visual C#

mardi 12 octobre 2004 à 10:20:38 | Re : dessiner un graphics sur une image contenue dans une pictureBox

godefrw

Merci!
C'est exactement ce que je voulais faire! Mon code était très proche sauf que je n'utilisais pas le bon constructeur de bitmap....

Ced



Cette discussion est classé dans : image, picturebox, dessiner, bitmap, graphics


Répondre à ce message

Sujets en rapport avec ce message

afficher un dessin sur une image [ par godefrw ] Bonjour,Je désirerais afficher un dessin au dessus d'une image. J'ai crée une pictureBox dans laquelle je charge une image. Ensuite je crée un Graphic Pb avec picturebox et objet Bitmap [ par Shogo6 ] Bonjour je suis au bord de la crise de neeeeerfs!!!!Voila je fais une visionneuse d'image donc on selectionne l'image desirée ds une listbox et elle s dessiner une image sur ma Form [ par mathmax ] Bonjour,J'essai de dessiner une image sur ma Form. J'ai écris le code suivant :Bitmap bmp = (Bitmap)Bitmap.FromFile(@"MonImage.jpg", true);private voi Bitmap en binaire [ par Captain_Bomber ] Bonjour tout le monde!!! J'ai un ch'tit problème là: Je dois faire une appli client-serveur qui permet de dessiner des formes sur une picturebox et q Dessiner dans une picturebox [ par xantax ] Bonjour ,J'ai en ce moment un léger problème de dessins.J'essaye par tout les moyen de dessinner sur une image dans une picturebox ( sizemode= zoom).M 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 image de fond picturebox [ par olibara ] Bonjour,Je n'ai toujours pas trouvé comment exploiter correctement un picture boxVoici ce que je veux faire 1- J'ai un premier process de chargement q Probleme picturebox et Bitmap [ par Stroumi ] Bonjour,je récupèré une image via une camera via la SDK de cette camera.Il s'agit d'un événement, lorsque l'image est prête, elle est envoyée. (il s'a pictureBox bords arrondis [ par ChamY ] Bonjour,J'ai fais pas mal de recherche pour essayer de trouver une réponse à mon probleme (qui me parait pas tres compliqué), mais je n'ai rien trouvé Calculer dimension d'un texte [ par olibara ] Bonjour Je reviens avec une question qui me tueSupposons que je souhaite creer une methode qui me cree une image a partir d'un texte.Cette image aur


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,421 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.