ERLEDIGT
JA
JA
ANTWORTEN
1
1
ZUGRIFFE
308
308
EMPFEHLEN
-
02.02.10 21:06 #1
Ich hab im moment folgenden Code:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
CString buf; buf.Format(L"%i,%i",img.GetWidth(),img.GetHeight()); MessageBox(buf,buf,0); buf.Format(L"%i,%i",outputSize.Width(),outputSize.Height()); MessageBox(buf,buf,0); if((outputSize.Width()/outputSize.Height())<(img.GetWidth()/img.GetHeight())){ height=outputSize.Height(); width=(height/img.GetHeight()*img.GetWidth()); } else{ width=outputSize.Width(); height=(width/img.GetWidth()*img.GetHeight()); } buf.Format(L"%i,%i",width,height); MessageBox(buf,buf,0);
Die MessageBoxes hab ich zum überprüfen eingebaut.
Ich hab jetzt 2 verschiedene Bilder die ich verarbeite.
Beim ersten durchlauf siehts so aus:
Und bei dem zweiten Bild:800,600
980,772
980,600
Warum berechnet der für height beim zweiten eine 0?999,666
980,772
980,0
PS: Mir fällt grad auf, das die erste Rechnung auch falsch ist.Geändert von SCIPIO-AEMILIANUS (02.02.10 um 21:46 Uhr)
MFG Scipio
Ein Danke für hilfreiche Antworten ist gern gesehen.
-
02.02.10 22:44 #2Code :
1 2 3 4 5 6 7 8 9 10 11 12
double imgWidth=img.GetWidth()*1.0; double imgHeight=img.GetHeight()*1.0; double outWidth=outputSize.Width()*1.0; double outHeight=outputSize.Height()*1.0; if((outWidth/outHeight)>(imgWidth/imgHeight)){ height=outHeight; width=round(height/imgHeight*imgWidth); } else{ width=outWidth; height=round(width/imgWidth*imgHeight); }
4 Stunden rumprobiert und schlussendlich gelöst.MFG Scipio
Ein Danke für hilfreiche Antworten ist gern gesehen.
Ähnliche Themen
-
Rechenproblem
Von Lexx22 im Forum Coders TalkAntworten: 3Letzter Beitrag: 16.06.08, 07:51 -
Kleines Rechenproblem
Von Tageslicht im Forum PHPAntworten: 5Letzter Beitrag: 09.05.06, 15:36 -
Rechenproblem :(
Von cille im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 28.03.06, 09:22 -
Rechenproblem
Von Oetzicool im Forum JavaAntworten: 1Letzter Beitrag: 24.01.06, 00:55 -
Rechenproblem: zwei Nachkommastellen!
Von uwee im Forum PHPAntworten: 7Letzter Beitrag: 12.12.05, 22:34





Zitieren
Login






