Frage wegen Farbverlauf Schleife[gelöst]

Verschiedenes zu Qt
Antworten
Qt-nator
Beiträge: 153
Registriert: 18. Dezember 2007 10:31

Frage wegen Farbverlauf Schleife[gelöst]

Beitrag von Qt-nator »

Hi,

ich hab folgende Schleifen:

nWidth = 256;

nHeigth = 10;

Code: Alles auswählen

      for(int i = 0; i <= nWidth; i++)
      {
        for(int y = 0; y <= nHeight; y++)
        {
          imgGray.setPixel(i,y,i);
        }
      } 
Die mir die Farben aus meiner Tabelle zu den Dazugehörigen Pixeln setzen.

Mein Frabe ist jetzt kann ich das auch in einer Schleife machen??? Bzw. Ich weis das es geht nur komm ich nicht weiter.

Mein Ansatz für die eine Schleife:

Code: Alles auswählen


      for(int i = 0; i <= nWidth * nHeight; i++)
      {
        imgGray.setPixel(i%nWidth,i/nWidth, //// Das weis ich nicht.);
      }

Der letzte Wert der dem Index der Farbtabelle entspricht also von 0 - 255 geht. Weis ich nicht wie ich da unterbringen soll.

Für Hilfe wäre ich sehr dankbar.

Gruß

Qt-nator

Edit:
Ist gelöst
Zuletzt geändert von Qt-nator am 19. Mai 2008 16:28, insgesamt 1-mal geändert.
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Warum willst Du die schnelle Lösung durch eine langsame ersetzen?
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
Qt-nator
Beiträge: 153
Registriert: 18. Dezember 2007 10:31

Beitrag von Qt-nator »

Weil mir gesagt worden ist das:

1tens ich das so machen soll.

2tens Das die schnellere Lösung ist.
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Qt-nator hat geschrieben:1tens ich das so machen soll.
Ist das ne Hausaufgabe? :-)
Qt-nator hat geschrieben:2tens Das die schnellere Lösung ist.
Bei der ersten Lösung wird setPixel nWidth * nHeight aufgerufen, mit jeweils bereits definierten Werten.
Bei der zweiten Lösung wird setPixel genauso oft aufgerufen, aber
1tens die Abruchbedingung jedesmal neu berechnet (wird vielleicht weg optimiert, aber Optimierungen habe ich immer aus, wegen unabsehbarer Nebeneffekte)
2tens werden bei jedem setPixel die Parameter neu berechnet.

Und das soll dann schneller sein?
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

1tens ich das so machen soll.
Wer sagt das? Dein Lehrer? Dann ist es auch deine Aufgabe eine Lösung zu finden. Außerdem hat es dann auch nichts mehr mit Qt zu tun und ist somit hier OT...
Qt-nator
Beiträge: 153
Registriert: 18. Dezember 2007 10:31

Beitrag von Qt-nator »

Hier die von mir selbst gefundene Lösung.

Trotzdem danke

Code: Alles auswählen


      for(int i = 0; i <= 2560; i++)
      {
          imgGray.setPixel(i%nWidth,i/nWidth,i%nWidth);
      }
      int H = vGrayscales.size();  

Antworten