tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
1
ZUGRIFFE
308
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von SCIPIO-AEMILIANUS
    SCIPIO-AEMILIANUS SCIPIO-AEMILIANUS ist offline aka DonMahallem
    Registriert seit
    Mar 2007
    Ort
    Saxonburg(Pa)
    Beiträge
    375
    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:
    800,600
    980,772
    980,600
    Und bei dem zweiten Bild:
    999,666
    980,772
    980,0
    Warum berechnet der für height beim zweiten eine 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.

  2. #2
    Avatar von SCIPIO-AEMILIANUS
    SCIPIO-AEMILIANUS SCIPIO-AEMILIANUS ist offline aka DonMahallem
    Registriert seit
    Mar 2007
    Ort
    Saxonburg(Pa)
    Beiträge
    375
    Code :
    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

  1. Rechenproblem
    Von Lexx22 im Forum Coders Talk
    Antworten: 3
    Letzter Beitrag: 16.06.08, 07:51
  2. Kleines Rechenproblem
    Von Tageslicht im Forum PHP
    Antworten: 5
    Letzter Beitrag: 09.05.06, 15:36
  3. Rechenproblem :(
    Von cille im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 28.03.06, 09:22
  4. Rechenproblem
    Von Oetzicool im Forum Java
    Antworten: 1
    Letzter Beitrag: 24.01.06, 00:55
  5. Antworten: 7
    Letzter Beitrag: 12.12.05, 22:34