[c#]Berekening berekent niets?

Pagina: 1
Acties:

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 22:14
Ik heb me nu toch iets vaags.
Stel je onderstaande code voor.
C#:
1
2
3
4
float rect_X = (maxWidth/OriginalImage.Width * 70);
float rect_Y = (maxWidth/OriginalImage.Height * 70);
float rect_W = (maxWidth / 2) - (2*rect_X);
float rect_H = ThumbnailHeight-(2*rect_Y);

maxWidth = 900
OriginalImage.Width=1181
OriginalImage.Height = 787

Door gebruik te maken van de debugger zie ik de volgende waardes.
Resultaat: rect_X wordt 0, rect_Y blijft 70, rect_W wordt 450 en rect_H wordt 459. Het kan liggen aan het feit dat ik flink ben wezen stappen in Breda, maar ik snap er geen snars waarom deze waardes als resultaat er uit komen.

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Kuhlie
  • Registratie: December 2002
  • Niet online
Je moet eerst alle waarden waarmee je rekent casten naar float, anders maakt hij int-berekeningen. Gok ik.

  • cenix
  • Registratie: September 2001
  • Laatst online: 22-02 13:22
Probeer eerst eens te kijken of je de precedentie goed kunt zetten.
Bedoel je (maxWidth/OriginalImage.Width) * 70 of bedoel je
maxWidth / (OriginalImage.Width * 70)

900/(1181*70) geeft 0.0108f;
(900/1181)*70 geeft 53.344f;

[ Voor 1% gewijzigd door cenix op 14-04-2006 15:47 . Reden: typo ]


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 22:14
Gloeiende gloeiende. maxWidth e.d. eerst casten naar een float is de oplossing.
Ik hou het er maar op dat het aan het stappen heeft gelegen.
Thanks.

[ Voor 25% gewijzigd door TeeDee op 14-04-2006 15:47 ]

Heart..pumps blood.Has nothing to do with emotion! Bored