Farbwertanteile ausrechnen! geht so nich ganz

Status
Nicht offen für weitere Antworten.

Puccini

Mitglied
HI!

Ich hab ein kleines Problem.

Wenn ich mit dem Pixelgrapper hole ich mir die benötigten Pixelfarben die ich brauche.

Dann werden diese in einem int-Arry gespeichert.
Anschliessent mit einem Floatwert mutlipliziert und am ende soll ein Integer zurückgegeben werden.

so hier mal ein paar zusammengestellte code-schnippsel die hoffentlich alles wichtige beihnahlten

Code:
    public int getValue() 
    {

//Hier werden die 3 Farbanteile einzeln ausgelesen
        int f = 0;
        int rotanteil=0;
        int gruenanteil=0;
        int blauanteil=0;

	for (int i = 0; i < maskW; i++) {
	    for (int i_1_ = 0; i_1_ < maskW; i_1_++)
            {
//mask ist ein Float-Array
//imgV ist das Int_Array in dem die Farbwerte der einzelnen Pixel stehen
                rotanteil+=((mask[i_1_][i])*(imgV[i_1_][i] & 0xFF0000)/0x10000);
                gruenanteil+=((mask[i_1_][i])*(imgV[i_1_][i] & 0xFF00)/0x100);
                blauanteil+=((mask[i_1_][i])*(imgV[i_1_][i] & 0xFF));
            }
	}
//Hier wird dann der neue Farbwert zurückgegeben um damit dann zu malen.
        f= rotanteil*0x10000 + gruenanteil*0x100 + blauanteil;
	return f;
}

    private Color grayLevel(int f) {
    //um die Zeichenfarbe zu setzen, weis net ob ich hier gleich den Wert von f einsetzen könnte
	int r=(f & 0xFF0000)/0x10000;
        int g=(f & 0xFF00)/0x100;
        int b=(f & 0xFF);
	if (r < 0)
	    r = 0;
	else if (r > 255)
	    r = 255;
	if (g < 0)
	    g = 0;
	else if (g > 255)
	    g = 255;
        if (b < 0)
	    b = 0;
	else if (b > 255)
	    b = 255;
	return new Color(r,g, b);
    }

//Hier sollte dann der Pixel die Farbe erhalten
setPixel(xPos, yPos, grayLevel(BerechnungsTF.getValue()));

soviel zu meinem Code.
Weis einer ob das klappen könnte??
Ziel: einen Farbwert eines Pixels auslesen, mit einer Zahl Multiplizieren und dann einen neuen Pixel in dem neuen Farbwert zeichnen.

MfG Puccini
 

EgonOlsen

Bekanntes Mitglied
Du musst die Farbanteile direkt auf Bereichsüberschreitungen prüfen, nicht erst nach dem Zusammenknödeln und dem wiederholten Aufteilen in die Komponenten. Ansonsten enthält f bereits Farbklumpatsch.

P.S.: Statt /0x10000; und /0x100; nimm doch >>24 und >>16. Multiplikation analog <<24 und <<16. Ist schneller.
 
G

Guest

Gast
P.S.: Statt /0x10000; und /0x100; nimm doch >>24 und >>16. Multiplikation analog <<24 und <<16. Ist schneller.

Meinst du das so:

Code:
                rotanteil+=((mask[i_1_][i])*(imgV[i_1_][i] & 0xFF0000)>>24); 
                gruenanteil+=((mask[i_1_][i])*(imgV[i_1_][i] & 0xFF00)>>16); 
                blauanteil+=((mask[i_1_][i])*(imgV[i_1_][i] & 0xFF));

Das mit der Überschreitung werd ich gleich testen.

Also in der getValue-Funktion schon auf Überschreitungen testen???

Gut wird gemacht!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Methode soll etwas ausrechnen und zurückgeben (klappt nd) hat wer eine Idee? Java Basics - Anfänger-Themen 11
sserio TXT-Datei Auslesen und den Wert jedes Namen ausrechnen etc. Java Basics - Anfänger-Themen 37
Leo_1789 Differenz ausrechnen zwischen denn idealgewicht und denn echten Gewicht Java Basics - Anfänger-Themen 7
D Restguthaben ausrechnen Java Basics - Anfänger-Themen 4
F Potenz ausrechnen Hilfe! Java Basics - Anfänger-Themen 7
D Gebühr ausrechnen [Buchaufgabe] Java Basics - Anfänger-Themen 9
C Rechenaufgabe im JLabel ausrechnen Java Basics - Anfänger-Themen 2
B Variablen im Java-Code selber "ausrechnen" Java Basics - Anfänger-Themen 8
C Konvertierung per Hand ausrechnen Java Basics - Anfänger-Themen 8
C Variablen Array dynamisch halten und ausrechnen Java Basics - Anfänger-Themen 14
N alter mit Date ausrechnen Java Basics - Anfänger-Themen 10
StrikeTom Median ausrechnen Java Basics - Anfänger-Themen 3
D Rest ausrechnen Java Basics - Anfänger-Themen 2
K Datentypen Prozent ausrechnen, Probleme Java Basics - Anfänger-Themen 9
K BMI ausrechnen Java Basics - Anfänger-Themen 20
B Taschenrechner - Aufgabenstring umwandeln und ausrechnen Java Basics - Anfänger-Themen 6
C String "ausrechnen" Java Basics - Anfänger-Themen 6
C Mausklicks pro Minute ausrechnen Java Basics - Anfänger-Themen 12
M Gleichungen dynamisch erstellen und ausrechnen? Java Basics - Anfänger-Themen 8
D BreitenGrad ausrechnen Java Basics - Anfänger-Themen 13
G automatisch ausrechnen Java Basics - Anfänger-Themen 3
U tage ausrechnen Java Basics - Anfänger-Themen 4
B Formel in Textfeld ausrechnen Java Basics - Anfänger-Themen 5
D MacOS: PDF erstellen geht nicht Java Basics - Anfänger-Themen 1
P Netbeans installation geht nicht Java Basics - Anfänger-Themen 26
Ostkreuz wie geht der catch? Java Basics - Anfänger-Themen 3
A Methoden Guten Tag , ich wollte so machen dass wenn meine frog an eine fly/bee geht dann an meine Tafel geht der zahl +1 hoch. Java Basics - Anfänger-Themen 2
S IntelliJ geht alle Klassen durch Java Basics - Anfänger-Themen 9
B Explizit Array definieren geht nicht? Java Basics - Anfänger-Themen 14
Say Stelle in Code herausfinden, wie geht man vor? Java Basics - Anfänger-Themen 12
berserkerdq2 Geht collections.sort bei allen? Linkedhashset, ArrayList, HashSet etc. Java Basics - Anfänger-Themen 4
P Installation JRE 8u321 startet, geht aber nicht weiter Java Basics - Anfänger-Themen 1
E Rekursiv Objekte erzeugen - geht das? Java Basics - Anfänger-Themen 2
E Pervasive PSQL insert funktion geht nicht Java Basics - Anfänger-Themen 9
U Warum kann ich die Methode in der ENUM Klasse nicht aufrufen? Und warum geht die Switch nicht? Java Basics - Anfänger-Themen 8
H Wie geht eigentlich Objektorientierung? Java Basics - Anfänger-Themen 14
M Methoden Wert einer Variable geht verloren? Java Basics - Anfänger-Themen 6
melisax Lower & Uppercase Beispielprogramm geht nicht Java Basics - Anfänger-Themen 3
MarcKKKK123 Wie geht das? Java Basics - Anfänger-Themen 1
B Static Attribute in einer Klasse, wie geht das? :O Java Basics - Anfänger-Themen 19
N methodenaufruf for each geht nicht Java Basics - Anfänger-Themen 2
O Methode in while-Schleife aufrufen geht nur beim ersten Mal Java Basics - Anfänger-Themen 2
W App geht live und dann? Java Basics - Anfänger-Themen 9
P Geht es vielleicht viel kürzer? Java Basics - Anfänger-Themen 7
S While-Schleife geht in Endlosschleife über, warum? Java Basics - Anfänger-Themen 6
B Interface List - Objekt übergeben? Einzelnes Objekt geht, aber Liste nicht? Java Basics - Anfänger-Themen 4
K Erste Schritte Programm geht aus Schleife, warum? Java Basics - Anfänger-Themen 2
S Geht das bei Java ? Java Basics - Anfänger-Themen 11
L Wie geht man bei mehreren Action Klassen vor? Java Basics - Anfänger-Themen 0
C unverständlicher Code Attribute ohne Datentyp, wie geht das? Java Basics - Anfänger-Themen 8
B OCR - Rechnungserkennung, wie geht das genau? Java Basics - Anfänger-Themen 59
CptK Klassen KeyListner geht nicht Java Basics - Anfänger-Themen 7
L Klassen Objekt aus einer Warteschlange in eine andere übergeben, geht nicht? Java Basics - Anfänger-Themen 6
K Armstrong Programm geht nur bis 1000, aber nicht weiter Java Basics - Anfänger-Themen 2
M Nim-Spiel geht in den negativen Bereich Java Basics - Anfänger-Themen 1
amazinglife77 Input/Output Lesen/Schreiben Properties: in eclipse geht, als JAR nicht Java Basics - Anfänger-Themen 4
V Erste Schritte Warum geht meine continue Anweisung nicht? Java Basics - Anfänger-Themen 8
MR._FIRE_Flower String.split("(") geht nicht Java Basics - Anfänger-Themen 4
M Restbuchwert Berechnung geht nicht Java Basics - Anfänger-Themen 45
K Klassen Nachträglich ein Objekt einem anderen zuweisen, geht das? Java Basics - Anfänger-Themen 2
S int addieren geht nicht Java Basics - Anfänger-Themen 13
L system.print.out geht nicht Java Basics - Anfänger-Themen 11
M Referenz geht bei Zwischenspeichern verloren (ArrayList) Java Basics - Anfänger-Themen 4
S Komma geht beim Schreiben ins csv verloren. Java Basics - Anfänger-Themen 6
M Arrays einspeichern geht nicht Java Basics - Anfänger-Themen 21
J BlueJ und import-Anweisungen, wie geht das? Java Basics - Anfänger-Themen 4
J Geht mit Java überhaupt was? Java Basics - Anfänger-Themen 13
J Debuggen - wie geht das? Java Basics - Anfänger-Themen 6
I erstelle Vorschaubild mit der lib PDF-Renderer und möchte danach Dateiname ändern -> geht aber nicht Java Basics - Anfänger-Themen 0
J Ausführen geht nicht Java Basics - Anfänger-Themen 19
G System.out.printf geht nicht Java Basics - Anfänger-Themen 6
E Erste Schritte [Noob] Warum geht meine For-Schleife nicht? Java Basics - Anfänger-Themen 2
I Java Code so gut es geht Kommentieren Java Basics - Anfänger-Themen 4
S Button "Berechnen" geht nicht Java Basics - Anfänger-Themen 3
B Compiler-Fehler Ein Java-Eclipse-Anfänger geht auf Reisen... Java Basics - Anfänger-Themen 10
K JUnit: Objekte von eigenen Klassen vergleichen...geht nicht Java Basics - Anfänger-Themen 5
T fianl array geht nicht... Java Basics - Anfänger-Themen 2
O if and else geht nur manchmal Java Basics - Anfänger-Themen 17
B Nichts geht mehr Java Basics - Anfänger-Themen 10
D Java geht auf windows 64 bit nicht. Java Basics - Anfänger-Themen 5
V Einfacher vergleich von Arrays geht schief Java Basics - Anfänger-Themen 2
T sample.war geht nicht... Java Basics - Anfänger-Themen 1
Thallius Klassen aus Classname programmatisch erzeugen. Wie geht das in java? Java Basics - Anfänger-Themen 5
C Datentypumwandlung geht nicht Java Basics - Anfänger-Themen 5
U kompilieren geht nicht wg. Formatierung wahrscheinlich Java Basics - Anfänger-Themen 7
G While schleife mit 2 Bedingungen geht nicht! Java Basics - Anfänger-Themen 15
S Methoden Rückgabewert einer Methode als Parameter an eine andere Methode übergeben, geht das? Java Basics - Anfänger-Themen 5
L Das erste Mal GridBagLayout - wie geht das? Java Basics - Anfänger-Themen 5
O Jar Datei erstellen geht nicht. Java Basics - Anfänger-Themen 4
O (.+?) --> $1 geht nicht Java Basics - Anfänger-Themen 5
V relativer Pfad geht nicht, absolut schon? Java Basics - Anfänger-Themen 3
R Java JDK/ Kompiler geht nicht Java Basics - Anfänger-Themen 4
H Geht dieser Code noch einfacher (try catch finally) Java Basics - Anfänger-Themen 7
P Geht dieser Code noch einfacher? Java Basics - Anfänger-Themen 16
J Warum geht int und String nicht? Java Basics - Anfänger-Themen 18
J repaint() geht gar nicht; GUI aktualisieren Java Basics - Anfänger-Themen 10
N ArrayList geht nicht Java Basics - Anfänger-Themen 8
B Erste Schritte Listing aus Buch - wie geht das? Java Basics - Anfänger-Themen 6
K Datentypen Kurzform Addition geht, Langform scheitert am Typen Java Basics - Anfänger-Themen 6
R Einfacher Timer geht nicht Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben