Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
Übungsblatt 7 Einzelaufgabe 7.2.
Hallo,
ich scheitere leider nach wie vor an der Angabe. Zum Beispiel muss ich doch bei GreyDisplay den rot- und den blau- und den grün-Wert des Pixels nehmen und den Pixel-Wert gemäß der Gewichtung neu berechnen. Aber wie komme ich an die Werte ran?
Die Color-Klasse bietet die dir Methoden [m]getRed()[/m], [m]getGreen()[/m], [m]getBlue()[/m].
An einem einfachen Beispiel könnte das so aussehen:
public static int giveMeTheValueOfTheRedColor(Color givenColor){
int result = givenColor.getRed();
return result;
}
Danke, das ging dann Nur so aus Interesse, jetzt ist es eh zu spät.
Wie wäre die Formel bei Teilaufgabe b gewesen? Ich hatte für das erste Pixel (1,2) ja den Wert für Rot bei (2,2), den für Grün bei (3,2) und den für Blau bei (4,2).
Für das zweite Pixel (5,2) hätte ich den Wert für Rot bei (6,2), für Grün bei (7,2), für Blau bei (8,2) gehabt.
Also komme ich auf die Formel, dass zum Beispiel der blaue Wert in der HardwareMatrix für Pixel x,y bei (2 + (x-1)*4) liegt. Offensichtlich ging da aber was fürchterlich schief, weil mein Programm nur schmeißt, dass die Werte falsch sind.
Was hab ich falsch verstanden?
Was ist zuspät? Die Nacht ist noch jung!
Ich verstehe deine Frage bzw. deine Implementierung nicht. In der b) bzw. RGBDisplay sollst du einen Pixel mithilfe von Subpixeln zeichnen. [quote=Aufgabenstellung] Ein Pixel ist ein Subpixel hoch und drei Subpixel breit. [/quote]
Die Angabe sagt dir bereits wie du dieses mal die set-Methode implementieren musst.
Ich glaube du hast die Beziehung zwischen HWMatrix und PixelPainter/Display nicht verstanden.
Die RGBMatrix hat … sagen wir bei der 1. Stelle rotes Lämpchen. Die kannst du heller oder dunkler setzen.
2 Stelle - grünes, 3. blaues. 4. wieder rotes usw…
(Gray Matrix hat sozusagen bei jeder Stelle einfach weises Lämpchen und das wird 1 zu 1 für Pixelkoordinaten abgebildet)
Das erste Pixel für das Painter/Display sollte eig. (0,0) sein.
und bei RGB Hardwarematrix (3 Farben-Stellen für 1 Pixel) benutzt man dann (0,0) (1,0) und (2,0) für r, g, b entsprechend.
für das Pixel (1,0) nimmt man nächste 3 Stellen, also (3,0) (4,0) und (5,0)
Also kannst davon leicht die Formel ableiten.
RGBG hat dann 4 Stellen für 1 Pixel.
und je nach Zeile (Odd/Even) sind die Stellen anderes.
Ahja, also zum eine millionsten Mal die Angabe falsch verstanden - danke, auf einmal hats funktioniert