Ouverture d'une image a sa taille d'origine

Signaler
Messages postés
3
Date d'inscription
dimanche 27 février 2005
Statut
Membre
Dernière intervention
19 avril 2005
-
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
-
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

Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
47
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
Messages postés
3
Date d'inscription
dimanche 27 février 2005
Statut
Membre
Dernière intervention
19 avril 2005

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;

}
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
47
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
Messages postés
3
Date d'inscription
dimanche 27 février 2005
Statut
Membre
Dernière intervention
19 avril 2005

meme avec un bmp g le pb
Messages postés
495
Date d'inscription
dimanche 6 juillet 2003
Statut
Membre
Dernière intervention
9 novembre 2007
1
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);
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
47
Non ca changera rien :/ (du moins pas quand j'avais testé hier)

Mx