|
You last visited: Today at 08:57
Advertisement
[Java]Unbekannter Farbcode
Discussion on [Java]Unbekannter Farbcode within the General Coding forum part of the Coders Den category.
05/13/2012, 12:58
|
#1
|
elite*gold: 235
Join Date: Jan 2012
Posts: 920
Received Thanks: 377
|
[Java]Unbekannter Farbcode
Hi,
ich habe ein kleines Problem und zwar habe ich folgenden Code:
Code:
import java.awt.*;
import java.awt.image.*;
public class Pixel3
{
public static void main(String[] args) throws AWTException
{
long start = System.currentTimeMillis();//timestamp
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
try
{
Robot rb = new Robot();
Rectangle screenRect = new Rectangle(dim);
BufferedImage bimage = rb.createScreenCapture(screenRect);
int w = bimage.getWidth(null);
int h = bimage.getHeight(null);
int[] rgbs = new int[w * h];
int[] a = bimage.getRGB(0, 0, w, h, rgbs, 0, w);
// Ab hier Wird das Array Durchsucht
for(int i=0;i<a.length;i++)
{
if (a[i] == -16711936)//Hier ist der unbekannte Farbcode
{
int pointy = (int)((i+1)/w);
int pointx = (i)-(pointy*w);
System.out.println(pointx + " " + pointy);
break;
}
}
} catch (Exception e)
{
}
long stop = System.currentTimeMillis();//timestamp
System.out.println((stop - start) + " Millisekunden.");//timestamp printout
}
}
Das Problem ist nun das ich keine Ahnung habe was
Quote:
für eine Farbe ist bzw. welcher Farbcode das ist.
|
|
|
05/13/2012, 13:05
|
#2
|
elite*gold: 200
Join Date: Apr 2011
Posts: 250
Received Thanks: 60
|
Haben Farbcodes nicht maximal 6 Zeichen?
Also die ersten 6 Zahlen von deinem Code, wären ein dunkelgrün.
|
|
|
05/13/2012, 13:07
|
#3
|
elite*gold: 235
Join Date: Jan 2012
Posts: 920
Received Thanks: 377
|
Das ist das Problem ich kenne keine Farbcodes die ein - davor haben und so lange sind außer COLORREF aber das hat auch kein - davor.
|
|
|
05/13/2012, 13:49
|
#4
|
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
|
Les dir die Dokumentation der Java API durch.. Da steht's drin..
|
|
|
05/13/2012, 13:52
|
#5
|
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
|
wenn es ARGB werte sind, sieht das nach einem normalen grün aus.. (255, 0, 255, 0)
einfach mal die zahl in den windoof taschenrechner kopieren, auf hex umschalten und fertig...
|
|
|
05/13/2012, 14:08
|
#6
|
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
|
imho müsste es 7F00FF00 sein, nicht FF00FF00
EDIT: Nein hast doch Recht.. Fehler von mir.. ist FF00FF00
|
|
|
05/13/2012, 14:12
|
#7
|
elite*gold: 235
Join Date: Jan 2012
Posts: 920
Received Thanks: 377
|
Wie kann man RGB Werte in dieses Format Konvertieren bzw. wie ?
|
|
|
05/13/2012, 14:15
|
#8
|
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
|
Quote:
Originally Posted by xNopex
imho müsste es 7F00FF00 sein, nicht FF00FF00
|
wie kommst du darauf?
getRGB(int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize)
Returns an array of integer pixels in the default RGB color model (TYPE_INT_ARGB) and default sRGB color space, from a portion of the image data.
ist ein int, -16.711.936 <-> 0xFF00FF00 = knallgrün
EDIT:
Quote:
|
Wie kann man RGB Werte in dieses Format Konvertieren bzw. wie ?
|
RGB werte werden normalerweise in einem 32bit int gespeichert, das entspricht 4 Bytes.
4Bytes kann man folgendermaßen als hex zahl darstellen:
0xABCDEF01
0xAARRGGBB
jeweils 2 hex zeichen entsprechen einem Byte, zwischen 00 und FF was zahlen zwischen 0 und 255 entspricht.
das erste Byte ist in der regel der Alpha wert, darin kann helligkeit, durchsichtigkeit etc drin gespeichert sein, wichtig sind die RGB werte.
die seite hier rechnet sie dir auch direkt um:
|
|
|
05/13/2012, 14:17
|
#9
|
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
|
Hab mich verrechnet gehabt...
Quote:
|
Wie kann man RGB Werte in dieses Format Konvertieren bzw. wie ?
|
Du hast am Anfang einfach noch eine zusätzliche Information über die Transparenz. Praktisch 1Byte. Die restlichen 3Bytes bleiben die normalen RGB Werte.
|
|
|
05/13/2012, 14:34
|
#10
|
elite*gold: 235
Join Date: Jan 2012
Posts: 920
Received Thanks: 377
|
Sry
Ich verstehe leider nur Bahnhof 
Ist die Farbe jetzt Hexadecimal oder wie ?
Und gibt es einen Befehl in Java der zb. die Farbe (RGB) 0 255 255 in dieses "Format" umrechnet ?
Edit:
Ich hab es verstanden viel lieben dank !
Edit2:
Eine Frage noch:
Warum ergibt
Decimal -> Hex
-16711936 -> FF00FF00
aber
Hex -> Decimal
FF00FF00 -> 4278255360
?
|
|
|
05/13/2012, 15:26
|
#11
|
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
|
den taschenrechner unten auf DWORD stellen, net QWORD.
|
|
|
05/13/2012, 15:39
|
#12
|
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
|
Quote:
Eine Frage noch:
Warum ergibt
Decimal -> Hex
-16711936 -> FF00FF00
aber
Hex -> Decimal
FF00FF00 -> 4278255360
?
|
Das liegt daran, dass negative Integer Zahlen in Java im Zweierkomplement gespeichert werden:
(16711936)10 = (00000000 11111111 00000001 00000000)2
B1: 11111111 00000000 11111110 11111111
B2: 11111111 00000000 11111111 00000000
Das ist damit 0xFF00FF00.
|
|
|
05/18/2012, 02:21
|
#13
|
elite*gold: 37
Join Date: Apr 2004
Posts: 2,154
Received Thanks: 250
|
Quote:
Originally Posted by ©ⓡⓞ©ⓞ
Sry
Ich verstehe leider nur Bahnhof 
Ist die Farbe jetzt Hexadecimal oder wie ?
Und gibt es einen Befehl in Java der zb. die Farbe (RGB) 0 255 255 in dieses "Format" umrechnet ?
Edit:
Ich hab es verstanden viel lieben dank !
Edit2:
Eine Frage noch:
Warum ergibt
Decimal -> Hex
-16711936 -> FF00FF00
aber
Hex -> Decimal
FF00FF00 -> 4278255360
?
|
das erste bit entscheidet in diesem fall ( signierte ganzzahl ) ob es sich um einen positiven wert, oder negativen wert handelt.
das bit wird mit 2^x (x ist in diesem fall 31, da es sich um eine 32 bit zahl handelt) --> 2147483648, nun wird es negiert, also -2147483648, dann werden die restlichen bits dazu addiert (ohne dem ersten bit), so kommt man auf die negative zahl
hier binär visualisiert
11111111000000001111111100000000
1. bit ist 1, also negativ -->
-10000000000000000000000000000000 (-2147483648)
+01111111000000001111111100000000 (+2130771712)
=11111111000000001111111100000000 (=-16711936)
ich hoffe das war verständlich :S
|
|
|
 |
Similar Threads
|
Suche Elitepvpers Farbcode, egold
03/31/2012 - elite*gold Trading - 2 Replies
Hi,
Ich suche den Farbcode der Farbe, die beim elitepvpers Style hier in den Beitragskästchen ist.
Richtige bekommt 1 egold, danke.
|
[C#]Farbcode in einem Pixel
01/01/2012 - .NET Languages - 12 Replies
hey ich möchte den farbcode in einem pixel bekommen und habe folgendes versucht:
using System.Threading;
namespace WindowsFormsApplication41
{
public partial class Form1 : Form
{
|
FarbCode wiedergabe
07/16/2011 - AutoIt - 17 Replies
Hallo Jungs
leider finde ich den Fehler nicht.
Die Var $Read3 ist richtig aber $Farbe ist null warum und wie löse ich das Problem.
Func _Pruefen()
$Read1 = GUICtrlRead($Input1,1)
$Read2 = GUICtrlRead($Input2,1)
$Read3 = GUICtrlRead($Input3,1)
$Farbe = StringFormat("%d\t", $Read3)
|
Wie finde ich den Farbcode?
06/09/2010 - General Coding - 3 Replies
Hey Liebe Community,
Mein Freund ist bei einem Script so einem Farbcode begegnet.
0x0080C0
Solch einen Farbcode brauch ich für diese Farbe
http://s1.directupload.net/images/100609/temp/wrx 9kn4u.jpg
|
Farbcode Grüner items gesucht
08/09/2005 - World of Warcraft - 12 Replies
genau. also zum beispil nen... scharlachroter helm des falken oder so, die farbe der überschrift.
von dem grün brauch ich nen hexadezimalen code.
danke sehr!
|
All times are GMT +1. The time now is 09:01.
|
|