Déplacement d'image

Résolu
mael45 Messages postés 11 Date d'inscription mardi 1 février 2005 Statut Membre Dernière intervention 24 mai 2005 - 29 avril 2005 à 15:24
mael45 Messages postés 11 Date d'inscription mardi 1 février 2005 Statut Membre Dernière intervention 24 mai 2005 - 13 mai 2005 à 11:23
Bonjour,
Je dois dévelopé un programme qui me permet de tirer un itinéraire à l'aide la souris sur la carte. Je déssine des trais entre chaque clic à l'aide de l'objet graphique(g.DrawLine).L'image se trouve dans une picturebox. Le problème c'est que ma carte est plus grande que la picture box donc j'ai créer des flèches de défilements sur les cotés et je décale ma carte de la manière suivante:
for (x=0; x<picbxTopographique.Width; x++)
{
for (y=0; y<picbxTopographique.Height; y++)
{
img6.SetPixel(x,y,imgStart.GetPixel((x+Convert.ToInt32(dbXPluss)), (y+Convert.ToInt32(dbYPluss)))); //img5.GetPixel((x+50),y)
}
}
Mais mon trait de déplasse aussi, il me faudrait un moyen pour que les traits ne se déplace pas?!?!?
Merci d'avance
Mael

6 réponses

WormkeyP Messages postés 20 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 30 septembre 2010
12 mai 2005 à 18:00
Essaye:
img6= (System.Drawing.Bitmap) imgStart.Clone();

imgStart.Clone() te revoie un System.Object qui est en fait un System.Drawing.Bitmap mais on "ne le sait pas". il faut donc expliquer au compilateur de quel type d'objet il s'agit.

Transtypage (syntaxe):
(nouveau_type_de_variable) variable

Wormkey
3
WormkeyP Messages postés 20 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 30 septembre 2010
30 avril 2005 à 21:58
A) Qu'entends tu exactement par "le trait se déplace aussi"?
1:Les traits déja dessinés changent de position relativement a la carte
2:Les nouveaux traits se placent au mauvais endroits

B) Sur quel objet aplique tu la méthode "Drawline"?
1:"img6" (en les redéssinant a chaque déplacement de carte)
2:"imgStart"

Réponds a ces deux question pour permettre une meilleure compréhension du problème.

Wormkey: "Comprenez vos problèmes avant de les résoudre"
0
mael45 Messages postés 11 Date d'inscription mardi 1 février 2005 Statut Membre Dernière intervention 24 mai 2005
1 mai 2005 à 20:02
J'aimerais que les traits changent de positions relativement a la carte
Je dessine sur img6 car j'aimerais gardait imgStart lorsque je réinitialise le programme.
Merci d'avance
0
WormkeyP Messages postés 20 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 30 septembre 2010
2 mai 2005 à 08:49
J'ai eventuellement une idée de l'origine du problème: (a toi de voir si c'est ça)

Normallement tu devrais avoir a redessiner les traits a chaque foix...
Sie ce n'est pas le cas, je pense que pour créer "img6" tu a fait:
img6=imgStart;
Il faut savoir qu'en agissant de la sorte, un System.Object (que ce soit
une image ou autre) n'est pas copié. Touce que fait ce bout de code
c'est copier la référence de l'objet "imgStart" vers le nom "img6".
C'est a dire que tes deux objets "img6" et "imgStart" ne sont que deux
références vers un meme objet.
Pour faire une vrai copie d'un objet (pour en avoir deux différents après):
img6=imgStart.Clone();

En éspérant t'avoir aidé,

Wormkey
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mael45 Messages postés 11 Date d'inscription mardi 1 février 2005 Statut Membre Dernière intervention 24 mai 2005
12 mai 2005 à 08:40
Mais quand je créer la copie img6=imgStart.Clone(); j'ai l'erreur suivante:
Impossible de convertir implicitement le type objet en system drawing bitmap
merci d'avance
0
mael45 Messages postés 11 Date d'inscription mardi 1 février 2005 Statut Membre Dernière intervention 24 mai 2005
13 mai 2005 à 11:23
Oui ca fonctionne maintenant
Merci beaucoup ça me rend un grand service...
Bonne journée @+
Mael
0
Rejoignez-nous