int-berechnung des RGB-Wertes ohne neue Instanz?

Status
Nicht offen für weitere Antworten.
S

supersimsonfahrer

Gast
Servus...

Gibt es ne möglichkeit, den Int-Wert des RGB-Wertes ohne eine neue Instanz der color-Klasse zu berechnen?
Code:
int a =(new Color(255,128,64).getRGB());

ich hab ein feld mit 10.000Werten
und das wird dann in einer rekursion ausgeführt
Meine befürchtung ist, dass mir der RAM zugemüllt wird[/code]
 

SnooP

Top Contributor
kommt bei dir oben zufällig das raus? 8372256...

in der Spezifikation steht ja drin, wie sich dieser rgb-wert berechnet, dabei müsstest du lediglich die drei byte-werte der Farben an die richtige Stelle schubsen (rot << 16,...) in der int-variablen... dann bekommst du den int-value den du haben möchtest. Allerdings weiß ich nicht, ob du jetzt noch irgendnen speziellen alphakanal haben möchtest, bzw. wie der aussieht normalerweise bei nem color-objekt... z.B. ob da dann 0en oder 1en stehen bei Bit 24-31
 

Ilja

Bekanntes Mitglied
da du auf das Color-Objekt keinen Verweis hat, wird es vom GC beim nächsten durchgang freigegeben... mach dir also darum keine sorgen...
... kannst ja am ende der rekursion den GC manuel auslösen, um sicher zu gehen, dass der speicher dann bereits frei ist...

wenn du dir das Color.java anguckst, dann siehste, wie es umgerechnet wird ;)

PS: der speicherbedarf (falls ALLE 10.000 Color-Objekte im Speicher bleiben):
objektverweis = 32bit (4byte)
long pData = 64bit (8byte)
int value = 32bit (4byte)
2x float array[3] = 2*96bit = (12byte)
float alpha = 32bit (4byte)
ColorSpace mit 2x int = 2x32bit (8byte)
----------
= ~40byte pro new Color()
(statische variablen und objekte sind zu vernachlässigen...)

40byte * 10.000 ~ 400kb

dein speicher wirds überstehen!
 

SnooP

Top Contributor
okay... -32704 ist aber genau das, was ich vermutet hatte:
11111111111111111000000001000000
mit der Einschränkung, dass die 8 Bit für den Alphakanal auf 1 gesetzt werden...

also machs doch einfach so: ;)
Code:
	public static int intRGBValue(int r, int g, int b) {
		//Mit leerem Alphakanal (Bit 24..31 = 255)
		return (255 << 24) | (r << 16) | (g << 8) | b;
	}
 
S

Supersimsonfahrer

Gast
Super
genau das hab ich gebraucht

thx an alle beteiligten
 

Slava

Bekanntes Mitglied
in documentation steht

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.
mach bestes daraus
 

Slava

Bekanntes Mitglied
original code von Color
Code:
public class Color extends......{
.....
int value;

    public Color(int rgb) {
        value = 0xff000000 | rgb;
    }

public int getRGB() {
	return value;
    }

public int getRed() {
	return (getRGB() >> 16) & 0xFF;
    }
  public int getGreen() {
	return (getRGB() >> 8) & 0xFF;
    }
public int getBlue() {
	return (getRGB() >> 0) & 0xFF;
    }
 public int getAlpha() {
        return (getRGB() >> 24) & 0xff;
    }
........
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H JTabel - RowFilter Daten für Berechnung filtern AWT, Swing, JavaFX & SWT 6
S Event Handling Neu zeichnen nur wenn Berechnung fertig ist AWT, Swing, JavaFX & SWT 4
M Graphics2D: drawString Berechnung AWT, Swing, JavaFX & SWT 1
D Swing Bestimmte Berechnung von Spalten durchführen und dann die Zeilen nach bestimmten Kriterien einfärben AWT, Swing, JavaFX & SWT 5
R Berechnung von Animationen AWT, Swing, JavaFX & SWT 7
B ProgressBar während Berechnung AWT, Swing, JavaFX & SWT 4
E Buttons während einer Berechnung deaktivieren AWT, Swing, JavaFX & SWT 6
S Berechnung abbrechen mit Button AWT, Swing, JavaFX & SWT 6
P Berechnung Kurvendiskussion AWT, Swing, JavaFX & SWT 6
G Status der Berechnung per JProgress anzeigen lassen AWT, Swing, JavaFX & SWT 6
Balbes Änderung des Wertes von JCheckBox in einer JTable AWT, Swing, JavaFX & SWT 4
E Swing Rückgabe eines Wertes aus einem Dialog zu einem Dialog AWT, Swing, JavaFX & SWT 4
O Zeilen in JTable auf Grund eines Wertes einfärben AWT, Swing, JavaFX & SWT 6
G Frage zu MouseListener und speichern des Wertes (reflektion? AWT, Swing, JavaFX & SWT 6
Juelin starten maven javafx programm ohne netbeans AWT, Swing, JavaFX & SWT 38
M KeyEvent ohne Fokus konsumieren AWT, Swing, JavaFX & SWT 1
Georges456 NetBeans am Mac leider ohne FXML AWT, Swing, JavaFX & SWT 17
A JOptionPane OK ohne Eingabe abfangen AWT, Swing, JavaFX & SWT 10
A JavaFX exportierte Jar ohne beim starten die Libs hinzufügen? AWT, Swing, JavaFX & SWT 2
N setOnKeyPressed ohne Scene AWT, Swing, JavaFX & SWT 2
M mvvm umsetzen ohne fxml AWT, Swing, JavaFX & SWT 0
L JavaFX OpenJFX16 App ohne Gradle and Maven? AWT, Swing, JavaFX & SWT 2
izoards Jar startet jedoch ohne Hintergrundfunktion AWT, Swing, JavaFX & SWT 25
L FX-Projekt: fast leere Fensterausgabe ohne Fehlermeldung AWT, Swing, JavaFX & SWT 6
H Timer ohne alles lahmzulegen? AWT, Swing, JavaFX & SWT 2
Z Random Butten erstellen ohne Container AWT, Swing, JavaFX & SWT 15
VPChief Ein JFrame ohne setUndecorated(true); nicht verschiebbar machen. AWT, Swing, JavaFX & SWT 6
Fiedlerdan Vergleich vieler Strings ohne ellenlange Argumentierten AWT, Swing, JavaFX & SWT 7
L Daten bearbeiten ohne GUI zu blockieren - daten haltung/zurück geben AWT, Swing, JavaFX & SWT 15
D Swing Anwendung ohne JPanel erstellen AWT, Swing, JavaFX & SWT 1
N Aktualisierung des Fensters AWT Java ohne Ruckeln AWT, Swing, JavaFX & SWT 3
T JavaFX Dialog schließt ohne dass es schließen soll AWT, Swing, JavaFX & SWT 1
K JFreeChart nicht ohne BarChartDemo startklar? AWT, Swing, JavaFX & SWT 5
GenerationLost JavaFX FileChooser speichern ohne Zieldatei? AWT, Swing, JavaFX & SWT 12
Y Objekte grafisch darstellen ohne GMF - Composite auf Canvas? AWT, Swing, JavaFX & SWT 2
K KeyListener ohne JFrame AWT, Swing, JavaFX & SWT 9
T Custom Window ohne Swing / AWT / FX..?! AWT, Swing, JavaFX & SWT 1
S Zeichen ohne paint-Methode AWT, Swing, JavaFX & SWT 2
M Menü ohne Menübar umsetzen[SWT] AWT, Swing, JavaFX & SWT 8
kilopack15 Buttons ohne Funktion AWT, Swing, JavaFX & SWT 2
S 2D-Grafik User-BufferedImage rotieren im Zentrum und ohne "anpassung" AWT, Swing, JavaFX & SWT 2
Ghostman1711 Java JFormattedTextfield MaskFormatter ohne Leerzeichen AWT, Swing, JavaFX & SWT 3
Z Swing Frame wird geöffnet, aber ist ohne Inhalt AWT, Swing, JavaFX & SWT 0
C Jframe ohne Rahmen AWT, Swing, JavaFX & SWT 3
R JavaFX Wert einer ChoiceBox bekommen ohne Lambdas AWT, Swing, JavaFX & SWT 11
Fishmeaker Shortcuts ohne ALT zuweisen AWT, Swing, JavaFX & SWT 1
O JTable ohne Rahmen printen AWT, Swing, JavaFX & SWT 3
M Mouse Click Event ohne ein JComponent Objekt AWT, Swing, JavaFX & SWT 3
W Swing JLabel jede Sekunde aktualisieren, ohne Timer zu benutzen AWT, Swing, JavaFX & SWT 4
M JavaFX Ein Bild ohne Rahmen fällt runter? AWT, Swing, JavaFX & SWT 2
M Zeichnen ohne vorherige Linien zu löschen AWT, Swing, JavaFX & SWT 2
F Swing JPanels übereinander ohne Mananger AWT, Swing, JavaFX & SWT 1
N GUI Design ohne GUIDesigner AWT, Swing, JavaFX & SWT 10
X Swing Ein neues Fenster öffen aber ohne ein extra Prozess zu starten AWT, Swing, JavaFX & SWT 1
C JTextfield ohne Enter feuern AWT, Swing, JavaFX & SWT 8
F Swing String[] in JTextArea ausgeben. Jeder Eintrag in neue Zeile, aber ohne "\n"- Geht das? AWT, Swing, JavaFX & SWT 3
S Paint Methode ohne implements JPanel AWT, Swing, JavaFX & SWT 1
A Textfeld.append/.setText ohne Funktion AWT, Swing, JavaFX & SWT 2
T JAXB funktioniert ohne IDE nicht verlässlich AWT, Swing, JavaFX & SWT 12
H org.eclipse.swt.Slider ohne Buttons AWT, Swing, JavaFX & SWT 1
M Benutzer-Dialog ohne System.in/out AWT, Swing, JavaFX & SWT 2
K JavaFX Tableview mit fxml ohne Aktualiserung trotz Thread AWT, Swing, JavaFX & SWT 13
C JFrame paint ohne hintergrund nutzen AWT, Swing, JavaFX & SWT 6
T Swing HTML Text aus JLabel ohne "HTML-Tags" in String einlesen AWT, Swing, JavaFX & SWT 5
J 2D-Grafik Simple Grafikanzeige ohne Desktopumgebung? AWT, Swing, JavaFX & SWT 2
F Swing Datenmodell in Tree spiegeln ohne Adapterklassen AWT, Swing, JavaFX & SWT 5
I JTable Inhalte löschen ohne den JTable zu verändern! AWT, Swing, JavaFX & SWT 5
T Bild drehen ohne Resize AWT, Swing, JavaFX & SWT 3
J Einträge aus Table löschen ohne Exception AWT, Swing, JavaFX & SWT 6
C Swing Fortschrittsanzeige im Dialog ohne Fortschrittsbalken und Abbruchoption AWT, Swing, JavaFX & SWT 7
M JSlider-Wert ändern, ohne ein ChangeEvent auszulösen AWT, Swing, JavaFX & SWT 4
J SWING - Programm ohne Eclipse etc. starten AWT, Swing, JavaFX & SWT 7
V Swing JButton ohne Border bei Anklicken AWT, Swing, JavaFX & SWT 3
M SWING Listener ohne Wirkung AWT, Swing, JavaFX & SWT 2
J Swing Farbe wählen ohne JColorChooser 2 AWT, Swing, JavaFX & SWT 23
Oliver530 JButton setEnabled(false) ohne Farbverlust AWT, Swing, JavaFX & SWT 3
B Swing JEditorPane ohne Zeilenumbruch nach InputStream AWT, Swing, JavaFX & SWT 2
D Swing JComponent zeichnen ohne sie zur Oberfläche hinzuzufügen AWT, Swing, JavaFX & SWT 2
GUI-Programmer Swing JWindow - Programm wird ohne Grund beendet AWT, Swing, JavaFX & SWT 3
N Swing JSpinner mit Datum aber ohne Uhrzeit AWT, Swing, JavaFX & SWT 2
E Null-Layout - Wie geht es ohne? AWT, Swing, JavaFX & SWT 19
S Java GUI Anwendung ohne Konsole starten AWT, Swing, JavaFX & SWT 6
J Swing JTable: Komplette Zeile aber ohne Spalten markieren AWT, Swing, JavaFX & SWT 11
C JFrame ohne Titelleiste, aber mit Borders AWT, Swing, JavaFX & SWT 2
D 3D-Grafik Java 3D ohne Plugin AWT, Swing, JavaFX & SWT 4
S Swing Zelle einer JTable hervorheben (ohne CellRenderer) AWT, Swing, JavaFX & SWT 3
R Swing Variable Panelbreite ohne Layoutmanager AWT, Swing, JavaFX & SWT 6
M Zugriff auf Variablen eines Objektes ohne sie auf static zu setzen AWT, Swing, JavaFX & SWT 9
H Anwendung schließen ohne System.exit AWT, Swing, JavaFX & SWT 5
T GUI ohne Rahmen auf Desktop AWT, Swing, JavaFX & SWT 3
S Bilddatei kopieren, aber ohne verluste und ohne zu großen Speicherverbrauch AWT, Swing, JavaFX & SWT 17
T jPanels im jFrame bewegen - Auch ohne Textfield? AWT, Swing, JavaFX & SWT 4
R Anwendung ohne Symbol in der Taskleiste AWT, Swing, JavaFX & SWT 3
G JSpinner ohne Tausendertrennzeichen AWT, Swing, JavaFX & SWT 5
D Aufruf neuer Klasse ohne Erzeugung eines neuen Fensters AWT, Swing, JavaFX & SWT 3
U JDialog ohne Taskleiste AWT, Swing, JavaFX & SWT 7
R Swing jbutton.setEnabled(false) ohne Ausgrauung des Buttons? AWT, Swing, JavaFX & SWT 6
Spin JTable Header wird nicht angezeigt ohne ScrollPane AWT, Swing, JavaFX & SWT 3
W AWT Drucken ohne Druckdialog AWT, Swing, JavaFX & SWT 2
R 2D-Grafik auf JPanel zeichen - ohne @Override paintComponent AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen

Neue Themen


Oben