Ouverture d'une image a sa taille d'origine

cs_Duff01 Messages postés 3 Date d'inscription dimanche 27 février 2005 Statut Membre Dernière intervention 19 avril 2005 - 19 avril 2005 à 18:15
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 - 20 avril 2005 à 13:22
Bon ben voila mon probleme:



J'ouvre une image avec la ligne suivante:



g.DrawImageUnscaled(bmp, 10, 50);



Théoriquement, DrawImageUnscaled dessine l'image à sa taille d'origine (ce qu'il me faut)

Cependant, lorsque je calcule la taille de l'image en faisant la
difference des x et la difference des y (grace a une fonction qui me
donne la position de la souris), j'obtient 135*180 alors que l'image ne
fait reellement que 96*120...

Il est clair qu'elle est agrandie, cela se voit d'ailleurs a l'oeil nu

Suis kéblo



Merci de votre aide

6 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
19 avril 2005 à 19:29
Tu charges ton image de quelle facon ?

Tu as essayé avec de la dessiner avec DrawImage ?



Parce que quand je charge une image et que je la dessine, j'ai pas de probs de tailles différentes
De
meme, je viens de tester, si j'affiche les coordonées de la souris par
rapport a sa position sur la photo, j'obtiens la bonne taille.



On pourrait avoir + de précisions, ou alors des bouts de codes ?


Mx
0
cs_Duff01 Messages postés 3 Date d'inscription dimanche 27 février 2005 Statut Membre Dernière intervention 19 avril 2005
19 avril 2005 à 19:35
ofSelImage.InitialDirectory = Directory.GetCurrentDirectory();

DialogResult res = ofSelImage.ShowDialog();



if (res == DialogResult.OK)

{

try

{


// On mémorise l'image sélectionnée


bmp = new Bitmap(ofSelImage.FileName);


// On fixe la taille de la fenêtre


ClientSize = new Size(bmp.Size.Width + 60, bmp.Size.Height + 100);
(...)



private void AfficheImage()

{

if (bmp != null)

{

g.DrawImage(bmp, 10, 50);

}

}



private void Form1_MouseMove_1(object sender, MouseEventArgs e)

{

Text = "X: " + e.X + " Y: " + e.Y;

}
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
19 avril 2005 à 20:04
Je te l'accorde, l'image est a une taille différente, mais seulement si
elle est au format Jpeg (dans mon cas, elle se trouve fortement
reduite).

Si j'ouvre un png, ou un bmp elle est au bon format.

Il doit donc y avoir une raison a cela, mais j'ai jamais eu a resoudre ce probleme, donc pour le moment je la connais pas.

Voici le code que j'ai utilisé. c'est le meme principe que le tien



public void LoadImage()

{

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

{

bmp = new Bitmap(res.FileName);

this.ClientSize = bmp.Size;

}

this.Invalidate();

}



protected override void OnPaint(PaintEventArgs e)

{

if(bmp != null)

e.Graphics.DrawImage(bmp, new Point(0, 0));

}


Si jamais j'en trouve la cause, je te tiens au courant.


Mx
0
cs_Duff01 Messages postés 3 Date d'inscription dimanche 27 février 2005 Statut Membre Dernière intervention 19 avril 2005
19 avril 2005 à 20:07
meme avec un bmp g le pb
0

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

Posez votre question
sebseb42 Messages postés 495 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 9 novembre 2007 1
20 avril 2005 à 12:53
essaye ceci, ca changera surement rien, mais c'est juste pour en avoir le coeur net :

g.DrawImage(bmp, 10, 50, bmp.Width, bmp.Height);
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
20 avril 2005 à 13:22
Non ca changera rien :/ (du moins pas quand j'avais testé hier)

Mx
0
Rejoignez-nous