2D-Grafik Konvertierung RGB-Farbwert und zurück scheitert

chaostheory

Bekanntes Mitglied
Hallo,
ich versuche momentan Dateien in Bildern zu verstecken indem ich die einzelnen bytes des rgb-Wertes der Pixel ändere.
Allerdings scheitert die Konvertierung vom rgb-integer in einen byte-array und zurück, da sich der Wert ändert. Die folgende Methode sollte nutzt die Klasse Color aus der Java-Bibliothek und sollte korrekt konvertieren, allerdings ist der Alpha-Wert immer unterschiedlich, nur die Farben stimmen. Mache ich etwas falsch oder ist das ein Fehler in Java?
Java:
Random r = new Random();
		int red = r.nextInt(255), green = r.nextInt(255), blue = r.nextInt(255), alpha = r.nextInt(255); 
		Color one = new Color(red, green, blue, alpha);
		Color two = new Color(one.getRGB());
		System.out.println(one.getRed() + " " + one.getGreen() + " " + one.getBlue() + " " + one.getAlpha());
		System.out.println(two.getRed() + " " + two.getGreen() + " " + two.getBlue() + " " + two.getAlpha());
 
D

Dow Jones

Gast
Hallo,
ich habe das jetzt nicht ausprobiert sondern nur einen Blick in die Doku geworfen. Danach liefert
Code:
int Color.getRGB()
einen Integerwert zurück welcher die Alpha-Komponente beinhaltet. Der Konstructor
Code:
Color (int rgb)
dagegen nimmt sich nur der R-, G- und B-Werte an:
Javadocs hat gesagt.:
public Color(int rgb)
Creates an opaque sRGB color with the specified combined RGB value consisting of the red component in bits 16-23, the green component in bits 8-15, and the blue component in bits 0-7. The actual color used in rendering depends on finding the best match given the color space available for a particular output device. Alpha is defaulted to 255.

Versuch's halt mal mit einem anderen Konstruktor.
 

Ark

Top Contributor
@chaostheory: Wozu brauchst du überhaupt Color? Nach dem, was du vorhast (Steganographie?), sollte reines Bit-Geschubse auf ints ausreichen.

Ark
 

chaostheory

Bekanntes Mitglied
Das Problem wurde bei Stack Overflow gelöst, man muss einen anderen Constructor nehmen (int rgb, boolean alpha), der auch Alpha-Werte berücksichtigt.
Allerdings bin ich jetzt doch wieder auf eigenes Bitshifting umgestiegen.

Danke für die schnelle Hilfe!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Datentypen Korrekte integer in Hex ASCII Konvertierung und serialisierung Allgemeine Java-Themen 1
E Webservice zur Konvertierung IBAN/BIC -> Bank Name Allgemeine Java-Themen 1
E SimpleDateFormat-Konvertierung funktioniert nicht Allgemeine Java-Themen 3
M Datentypen Automatische Konvertierung Allgemeine Java-Themen 11
A NullPointer bei konvertierung von byteArr --> Object Allgemeine Java-Themen 3
F Konvertierung von MPG (oder anderen Typ) nach Flash Allgemeine Java-Themen 4
G Konvertierung des Zeichensatzes. Allgemeine Java-Themen 3
O Konvertierung Signed-Unsigned und HEX, DEC, BIN Allgemeine Java-Themen 2
X Ungeprüfte Konvertierung Allgemeine Java-Themen 2
G String Konvertierung Allgemeine Java-Themen 6
R konvertierung von bbcode <-> html Allgemeine Java-Themen 5
S Konvertierung RSS nach WML Allgemeine Java-Themen 2
F hex-farbwert der pixel aus bildern lesen Allgemeine Java-Themen 4
N BLOB Farbwert auslesen Allgemeine Java-Themen 2
T Verschachtelte For-Schleife gibt falschen Wert zurück, Abbruchbedingung evtl. falsch? Allgemeine Java-Themen 9
8u3631984 Argument Captor liefert NULL zurück Allgemeine Java-Themen 2
E Class.getResourceAsStream() gibt null zurück Allgemeine Java-Themen 2
Tiago1234 CellReference cr = new CellReference("") gibt den falschen Wert zurück Allgemeine Java-Themen 49
P JSpinner gibt leeren Wert zurück Allgemeine Java-Themen 5
perlenfischer1984 Liste mit generics zurück liefern Allgemeine Java-Themen 8
DanielsLPecke Java Arrays an andere Java Programme schicken und zurück Allgemeine Java-Themen 5
L Strings nach sortiertem String zurück ordnen Allgemeine Java-Themen 0
J java zurück befehl Allgemeine Java-Themen 18
S byte [] in string und zurück konvertieren Allgemeine Java-Themen 2
I newInstance() liefert null zurück Allgemeine Java-Themen 4
A Input/Output Buffered Image zu Byte Array und zurück konvertieren Allgemeine Java-Themen 4
R JNI if abfrage gibt immer false zurück. Allgemeine Java-Themen 7
S String zu binary und zurück - Problem mit unsigned/signed bytes Allgemeine Java-Themen 2
S HashMap containsKey liefert immer false zurück Allgemeine Java-Themen 15
Z Boolean Abfrage gibt kein Boolean zurück, aber warum? Allgemeine Java-Themen 6
K Sting To ByteArray und zurück Allgemeine Java-Themen 5
Psypsy Bits in Textdatei und zurück Allgemeine Java-Themen 3
C Aus XML ein DOM Objekt und wieder zurück Allgemeine Java-Themen 2
M Von Paket zurück zu "Anfang" Allgemeine Java-Themen 5
J Calendar gibt falsche Wochenanzahl zurück Allgemeine Java-Themen 3
S Einen Ordner zurück von der JarDatei Allgemeine Java-Themen 6
A IntBuffer zurück zu ByteBuffer Allgemeine Java-Themen 1
I Aus Exception wieder zurück Allgemeine Java-Themen 5
D GregorianCalendar std zurück Allgemeine Java-Themen 7
Redfrettchen Rückgabe nicht sinnvoll: Exception oder null zurück? Allgemeine Java-Themen 9
M Dateien zurück in eine jar Speichern Allgemeine Java-Themen 6
C ImageIO die read-Methode liefert mir ein null- Wert zurück Allgemeine Java-Themen 10

Ähnliche Java Themen

Neue Themen


Oben