CMYK Zeichen

Status
Nicht offen für weitere Antworten.

Lazybone

Aktives Mitglied
Hallo

ich habe 4 TextField für Cyan, Magenta, Yellow und Key. Wie kann ich diese nun so machen das ich die mit setColor() nutzen kann? Hab dazu leider nicht wirklich was gefunden.

Gruß
Lazybone
 

Lazybone

Aktives Mitglied
hmm also ich habe jetzt 4 Slider (Cyan,MAgenta,Yellow,Key) und einen Button zum mischen und ich lasse mit paint ein Rechteck mit der Mischfarbe zeichen mit RGB funtzt das schon ganz gut nur mit CMYK bekomme ich es nicht hin es kommen immer andere farben raus als die ich will. Hat vielleicht einer nen Beispiel?
 

The_S

Top Contributor
Generell kann man CMYK nicht 100pro in RGB umwandeln, nur richtweiße. Ich hab dazu aber mal irgendwo was geschrieben gehabt. Bei Interesse such ichs mal raus.
 

Lazybone

Aktives Mitglied
@Hobbit_Im_Blutrausch

das wäre gut ich hab jetzt das ganze Wochenende versucht aber nichts brauchbares bekommen. Bzw gibt es sowas wie g.setColor(new Color(255,255,255)) (g Graphics Object) für CMYK?
 

The_S

Top Contributor
Nein, sowas gibt es nicht. Du musst dann "umrechnen", wobei sowas wie gesagt nicht zu 100% geht. Ich guck mal, ob ich den Code noch finde ...

[edit] Und da hab ich ihn auch schon:

Code:
public class ColorRechner {
	
	private DecimalFormat df = new DecimalFormat("#");
	
	public String RGBinHEX(int red, int green, int blue) {
		
		String[] hex = new String[3];
		hex[0] = Integer.toHexString(red).toUpperCase();
		hex[1] = Integer.toHexString(green).toUpperCase();
		hex[2] = Integer.toHexString(blue).toUpperCase();
		for (int i = hex.length - 1; i > -1; i--) {
			hex[i] = ((hex[i].length() < 2) ? "0" + hex[i] : hex[i]);
		}
		return hex[0] + hex[1] + hex[2];
	}
	
	public float[] RGBinHSB(int red, int green, int blue) {
		
		float[] hsb = new float[3];
		hsb = Color.RGBtoHSB(red, green, blue, new float[3]);
		hsb[0] = hsb[0] * 360;
		hsb[1] = hsb[1] * 100;
		hsb[2] = hsb[2] * 100;
		return hsb;
	}
	
	public int[] HSBinRGB(float hue, float saturation, float brightness) {
		
		int[] rgb = new int[3];
		Color col = Color.getHSBColor(hue / 360, saturation / 100, brightness / 100);
		rgb[0] = col.getRed();
		rgb[1] = col.getGreen();
		rgb[2] = col.getBlue();
		return rgb;
	}
	
	public int[] HEXinRGB(String hex) {
		
		int[] rgb = new int[3];
		for (int i = 0; i < rgb.length; i++) {
			rgb[i] = Integer.parseInt(hex.substring(i * 2, i * 2 + 2), 16);
		}
		return rgb;
	}
	
	public String HSBinHEX(float hue, float saturation, float brightness) {
		
		int[] rgb = HSBinRGB(hue, saturation, brightness);
		return RGBinHEX(rgb[0], rgb[1], rgb[2]);
	}
	
	public float[] HEXinHSB(String hex) {
		
		int[] rgb = HEXinRGB(hex);
		return RGBinHSB(rgb[0], rgb[1], rgb[2]);
	}
	
	public float[] RGBinCMYK(int red, int green, int blue) {
		
		float[] rgb = {red, green, blue};
		float[] cmyk = new float[4];
		float highest = ((red >= green && red >= blue) ? red : ((green > blue) ? green : blue));
		cmyk[3] = 1 - highest / 255;
		for (int i = rgb.length - 1; i > -1; i--) {
			if (rgb[i] == highest) {
				cmyk[i] = 0;
			}
			else {
				cmyk[i] = 1 - rgb[i] / highest;
			}
		}
		return cmyk;
	}
	
	public int[] CMYKinRGB(float cyan, float magenta, float yellow, float key) {
		
		int[] rgb = new int[3];
		float[] cmyk = {cyan, magenta, yellow, key};
		for (int i = rgb.length - 1; i > -1; i--) {
			rgb[i] = Integer.parseInt(df.format((float)(((cmyk[i] == 0) ? (1 - cmyk[3]) * 255 : (1 - cmyk[3]) * 255) * (1 - cmyk[i]))));
		}
		return rgb;
	}
	
	public float[] HEXinCMYK(String hex) {
		
		int[] rgb = HEXinRGB(hex);
		return RGBinCMYK(rgb[0], rgb[1], rgb[2]);
	}
	
	public float[] HSBinCMYK(float hue, float saturation, float brightness) {
		
		int[] rgb = HSBinRGB(hue, saturation, brightness);
		return RGBinCMYK(rgb[0], rgb[1], rgb[2]);
	}
	
	public float[] CMYKinHSB(float cyan, float magenta, float yellow, float key) {
		
		int[] rgb = CMYKinRGB(cyan, magenta, yellow, key);
		return RGBinHSB(rgb[0], rgb[1], rgb[2]);
	}
	
	public String CMYKinHEX(float cyan, float magenta, float yellow, float key) {
		
		int[] rgb = CMYKinRGB(cyan, magenta, yellow, key);
		return RGBinHEX(rgb[0], rgb[1], rgb[2]);
	}
}
 
G

Guest

Gast
@Hobbit_Im_Blutrausch

Danke. In was müssen die CMYK Werte angegeben werden? Man sieht ja 0.000 - 1.000 oder 0 - 100
 

The_S

Top Contributor
weißt du wie alt der Code ist? Das weiß ich doch jetzt nicht mehr ... Wandle doch einfach mal RGBinCMYK um, dann siehst du ja, ob du 0 Komma Werte, oder Werte zwischen 0 und 100 zurückbekommst.
 
G

Guest

Gast
kannst du mir auch bitte die DecimalFormat Klasse geben da die ja bei CMYKinRGB genutzt wird
 

The_S

Top Contributor
Die Klasse brauch ich dir nicht zu geben, genausowenig wie die Funktion. Das ist ne ganz normale Standardklasse im JDK. Die brauchst du nur zu importieren :roll:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
I TIFF im CMYK-Farbmodell + mit dpi-Auflösung im Header erzeugen - wie? AWT, Swing, JavaFX & SWT 0
K Color-Objekt erzeugen in CMYK AWT, Swing, JavaFX & SWT 2
J JAI: CMYK wird nicht erkannt AWT, Swing, JavaFX & SWT 8
N €-Zeichen wird nicht akzeptiert AWT, Swing, JavaFX & SWT 4
_user_q Gibt es eine Möglichkeit, in Java alle möglichen Zeichen automatisch tippen zu lassen? AWT, Swing, JavaFX & SWT 13
Kohl Jedes Objekt einer JTable um ein Zeichen verkürzen AWT, Swing, JavaFX & SWT 7
F AWT awt KeyEvent - Zeichen direkt nach Eingabe löschen AWT, Swing, JavaFX & SWT 2
L Swing Tastatur zeichen AWT, Swing, JavaFX & SWT 4
A 2D-Grafik Zeichen werden über unabhängingen JRadioButton nicht gefüllt AWT, Swing, JavaFX & SWT 28
I JOptionPane maximale Zeichen einstellen AWT, Swing, JavaFX & SWT 2
L JavaFX ASCII Zeichen /char von KeyEvent erhalten AWT, Swing, JavaFX & SWT 5
C Zeichen eines 6 -Eckes AWT, Swing, JavaFX & SWT 1
S Zeichen ohne paint-Methode AWT, Swing, JavaFX & SWT 2
C JavaFX Tiefgestellte Zeichen in fxml AWT, Swing, JavaFX & SWT 2
B EventHandler für durch Tastenkombination erzeugte Zeichen AWT, Swing, JavaFX & SWT 3
L Ausgabe in JEditorPane mittels HTMLEditorKit zeigt auf bestimmten Systemen falsche Zeichen AWT, Swing, JavaFX & SWT 1
S Swing Warum funktioniert der automatische Zeilenumbruch mit arabischen Zeichen beim JTextPane nicht AWT, Swing, JavaFX & SWT 3
A Zeichen-Steuerelement in Swing AWT, Swing, JavaFX & SWT 0
kaoZ Swing Aktives Zeichen für Spieleprogrammierung ? AWT, Swing, JavaFX & SWT 8
D Swing Manuellen Kreis zeichen AWT, Swing, JavaFX & SWT 22
U Label zeigt nicht überall HTML Zeichen AWT, Swing, JavaFX & SWT 3
R einzelne Zeichen in jTable einlesen AWT, Swing, JavaFX & SWT 10
S SWT [TextBox] Bestimmtes Zeichen entfernen unterbinden AWT, Swing, JavaFX & SWT 3
P readLine solange es mit einem bestimmten Zeichen anfängt AWT, Swing, JavaFX & SWT 5
P Komische Zeichen beim Abspeichern von TextFelder AWT, Swing, JavaFX & SWT 2
Jats Zeichen auf mehrere JPanels AWT, Swing, JavaFX & SWT 7
P 2D-Grafik versch. Rectangles aus array von textfelder zeichen AWT, Swing, JavaFX & SWT 6
DEvent Swing JTextField Anzahl an sichtbaren Zeichen AWT, Swing, JavaFX & SWT 4
D JLabel und JPanel -> Neu zeichen?! oO AWT, Swing, JavaFX & SWT 2
E jTextFiled max 160 Zeichen? AWT, Swing, JavaFX & SWT 4
Luk10 Swing Problem mit Zeichen-Thread AWT, Swing, JavaFX & SWT 8
A Rechteck zeichen AWT, Swing, JavaFX & SWT 4
Q AWT Choice ein Zeichen hinzufügen AWT, Swing, JavaFX & SWT 4
J 2D-Grafik Textbasiertes 2D Spiel, jedes Zeichen manipulierbar AWT, Swing, JavaFX & SWT 7
R 2D-Grafik auf JPanel zeichen - ohne @Override paintComponent AWT, Swing, JavaFX & SWT 6
S Thread.sleep() in einer methode fürs zeichen AWT, Swing, JavaFX & SWT 3
T Zeichen/char in Bild umwandeln und darstellen AWT, Swing, JavaFX & SWT 10
2 Bücher über Zeichen und Baumalgorithmen AWT, Swing, JavaFX & SWT 5
T Zeichen zählen JTextPane AWT, Swing, JavaFX & SWT 4
F Zeichen per Menuitem funktioniert nicht AWT, Swing, JavaFX & SWT 2
V Nur zulässige Zeichen in JTable-Zellen eintragen können AWT, Swing, JavaFX & SWT 2
P Swing Probleme beim Zeichen AWT, Swing, JavaFX & SWT 6
aze JTextfield nur so breit dass alle zeichen sichtbar sind AWT, Swing, JavaFX & SWT 2
3TageBart Ebenen in Zeichen-Programm implementieren AWT, Swing, JavaFX & SWT 9
P Zeichen abhängig davon, ob sich eine Variable geändert hat AWT, Swing, JavaFX & SWT 2
G Blinkenden Punkt zeichen AWT, Swing, JavaFX & SWT 2
G Viele Fehler beim zeichen AWT, Swing, JavaFX & SWT 5
J JTextPane mit genau 80 Zeichen breite definieren? AWT, Swing, JavaFX & SWT 3
J jTextarea Anzahl Zeichen in einer Zeile begrenzen AWT, Swing, JavaFX & SWT 2
H Polyline zeichen, aber wie? AWT, Swing, JavaFX & SWT 2
D jTable ausdrucken => € zeichen wird nicht richtig angezei AWT, Swing, JavaFX & SWT 7
H Problem beim zeichen eines TimeSeriesChart mit jfreechart AWT, Swing, JavaFX & SWT 5
K UNICODE ZEICHEN in den SWing-GUIs AWT, Swing, JavaFX & SWT 4
B Dreiecke zeichen AWT, Swing, JavaFX & SWT 3
D Zeichen ein Pixel mit Java2D AWT, Swing, JavaFX & SWT 15
C JFormattedTextField - nur bestimmte Zeichen zulassen AWT, Swing, JavaFX & SWT 3
F Zeichen von Linien, Rechtecken, zb wie in paint AWT, Swing, JavaFX & SWT 2
B Zeichen werden im JFormattedTextField überschrieben AWT, Swing, JavaFX & SWT 3
C PI-Zeichen im JLabel AWT, Swing, JavaFX & SWT 3
G Zeilenumbruch nach n Zeichen in JTextArea AWT, Swing, JavaFX & SWT 24
U kleiner-Zeichen JEditorPanel (war: JOptionPane) AWT, Swing, JavaFX & SWT 5
T JLayerdPane: wie etwas über eine AWT Komponente zeichen? AWT, Swing, JavaFX & SWT 2
N Tastatur Zeichen einlesen ohne sichtbares Fenster AWT, Swing, JavaFX & SWT 8
D JTextPane: "Nichtdruckbare Zeichen" anzeigen & AWT, Swing, JavaFX & SWT 4
R letztes Zeichen aus textfeld auslesen AWT, Swing, JavaFX & SWT 2
M rendern von zeichen AWT, Swing, JavaFX & SWT 4
R Zeichen-Markierungrahmen AWT, Swing, JavaFX & SWT 5
F Eingabe in JPasswordField auf vier Zeichen beschränken AWT, Swing, JavaFX & SWT 3
M Transparentes gif als extra Klasse auf einen JFrame zeichen AWT, Swing, JavaFX & SWT 17
B ComboBox: nur bestimmte Zeichen zulassen AWT, Swing, JavaFX & SWT 5
G Linien in ein Koordinatensystem zeichen AWT, Swing, JavaFX & SWT 7
H funktionen in ein koordinatensystem zeichen AWT, Swing, JavaFX & SWT 5
B Erstes Zeichen in einem String toUpperCase ??? AWT, Swing, JavaFX & SWT 4
bummerland ein zeichen nach einem zeilenumbruch einfügen AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben