Straider Geschrieben 21. März 2005 Geschrieben 21. März 2005 Hi, ich hoffe Ihr könnt mir helfen... also ich möchte von einem bestimmten pixel in einem Frame die Farbe wissen. geht das? wenn nicht, geht das dann unter JFrame? Danke schon mal im voraus! Zitieren
perdian Geschrieben 21. März 2005 Geschrieben 21. März 2005 Direkt kenne ich da keinen Weg. Was möglich ist, ist einen Screenshot deines Frames zu erzeugen, und dann daraus den Farbwert auszulesen: public static void main(String[] args) throws Exception { // Frame erzeugen und anzeigen lassen JFrame frame = new JFrame("TEST"); frame.setBounds(10, 10, 500, 200); frame.setVisible(true); // Robot erzeugen, der den Screenshot aufnimmt Robot robot = new Robot(); Rectangle frameBounds = frame.getBounds(); BufferedImage frameImage = robot.createScreenCapture(frameBounds); // Pixel-Farbe grabben int x = 10; int y = 10; int rgbColor = frameImage.getRGB(x, y); Color color = new Color(rgbColor); } Zitieren
Straider Geschrieben 21. März 2005 Autor Geschrieben 21. März 2005 Jo, danke.. werd ich gleich mal ausprobieren Zitieren
speedi Geschrieben 24. März 2005 Geschrieben 24. März 2005 Hi ihr beiden, hab mir gerade mal eueren Dialog durchgelesen, und hätte da eine Frage: Gibt es eine Möglichkeit wenn man einen Screenshot macht diesen dann in einer GIF oder meinetwegen auch JPG oder BMP abzuspeichern? Zitieren
perdian Geschrieben 24. März 2005 Geschrieben 24. März 2005 Gibt es eine Möglichkeit wenn man einen Screenshot macht diesen dann in einer GIF oder meinetwegen auch JPG oder BMP abzuspeichern?Na klar doch - das Stichwort heisst Encodierung. Ein Image/BufferedImage in Java selber ist ja die reine Info darüber, welches Pixel an welcher Koordinate, welche Farbe hat. Da jedes Format diese Informationen unterschiedlich auswertet musst du jetzt nur noch den richtigen Encoder für die Formate finden. Mehr Infos gibt's hier: http://www.galileocomputing.de/openbook/javainsel3/javainsel_140012.htm#Rxxjavainsel_140012256Grafikenspeichern Zitieren
speedi Geschrieben 24. März 2005 Geschrieben 24. März 2005 Thanx! Iss ja scharf! Hab nämlich vor ner wile mal versuch nen Screenshot von nem DVD-Film zu machen um das dann als Desktop-Hintergrund zu verwenden. Aber irgendwie hat MS-Paint nur ne Reverenz des Bildes Bekommen=>wenn der film weiterlief ist das Bild in MS-Paint auch weiter gelaufen. Aber so könnte es jetzt gehen. Zitieren
Bubble Geschrieben 24. März 2005 Geschrieben 24. März 2005 Wenn es nicht klappt, und das ist wahrscheinlich, verwendet der Media Player ein Overlay zur Wiedergabe. Dies ist zumindest der Normalfall. Zitieren
speedi Geschrieben 29. März 2005 Geschrieben 29. März 2005 Wenn es nicht klappt, und das ist wahrscheinlich, verwendet der Media Player ein Overlay zur Wiedergabe. Dies ist zumindest der Normalfall. meinst du das auch ein JAVA-Programm so einen Screenshot nicht machen kann? Wäre echt schade. Hatte zwar noch keine Zeit es zu versuchen aber mal für den Fall es würde nichts, hast du dann ne variante auf Lager wie man sowas machen kann? Zitieren
Bubble Geschrieben 30. März 2005 Geschrieben 30. März 2005 meinst du das auch ein JAVA-Programm so einen Screenshot nicht machen kann? IMO nur über den Zugriff auf Betriebssystem-Funktionen (JNI). Was Overlays angeht ist die Sache noch schwieriger, da sie in einem anderen Bereich des Grafikspeichers liegen und oft eine andere Farbrepräsentation als RGB verwenden (z.B. YUV 4:2:2). Es gibt aber wohl Hilfsprogramme, die das beherrschen. Alternativ kann man auch versuchen, sämtliche Grafikbeschleunigungen abzuschalten. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.