adios_pl

img avg

Nov 13th, 2015
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.71 KB | None | 0 0
  1. package com.company;
  2.  
  3. import java.awt.image.DataBufferInt;
  4. import java.awt.*;
  5. import javax.swing.*;
  6. import java.awt.Toolkit;
  7. import java.awt.image.BufferedImage;
  8. import java.util.Arrays;
  9. import java.util.OptionalDouble;
  10.  
  11. public class Main {
  12.  
  13.     public static void main(String[] args) throws AWTException {
  14.         long startTime = System.nanoTime();
  15.  
  16.         Robot robot = new Robot();
  17.  
  18.         Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
  19.         BufferedImage screenFullImage;
  20.         screenFullImage = robot.createScreenCapture(screenRect);
  21.         int[] pixels = ((DataBufferInt) screenFullImage.getRaster().getDataBuffer()).getData();
  22.  
  23.         OptionalDouble average = Arrays.stream(pixels).parallel().average();
  24.  
  25.         int resultColor = new Double(average.getAsDouble()).intValue();
  26.  
  27.         int r = (resultColor)&0xFF;
  28.         int g = (resultColor>>8)&0xFF;
  29.         int b = (resultColor>>16)&0xFF;
  30.         int a = (resultColor>>24)&0xFF;
  31.  
  32.         System.out.println("R: " + r);
  33.         System.out.println("G: " + g);
  34.         System.out.println("B: " + b);
  35.         System.out.println("A: " + a);
  36.  
  37.         long stopTime = System.nanoTime();
  38.  
  39.         System.out.println((stopTime - startTime) / 1000 / 1000);
  40.  
  41.         JFrame frame = new JFrame();
  42.         frame.getContentPane().setLayout(new FlowLayout());
  43.         ImageIcon imgIcon = new ImageIcon(screenFullImage);
  44.         frame.getContentPane().add(new JLabel(imgIcon));
  45.         frame.pack();
  46.         frame.setVisible(true);
  47.  
  48.         JFrame frame2 = new JFrame();
  49.         frame2.setSize(100,100);
  50.         frame2.getContentPane().setBackground(new Color(r,g,b,a));
  51.         frame2.setVisible(true);
  52.     }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment