<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    march alex's blog
    hello,I am march alex
    posts - 52,comments - 7,trackbacks - 0
    之前我在ScreenDemo類中用generateSnapshot()方法實現了對當前屏幕的截圖,這里在原來的基礎上增加了printPointRGB方法用于獲取屏幕上的某一點的RGB
    import java.awt.Color;
    import java.awt.Rectangle;
    import java.awt.Robot;
    import java.awt.Toolkit;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;

    import javax.imageio.ImageIO;


    public class ScreenDemo {
        public static File generateSnapshot() {
            //File snapshotFile = new File("D:/" + System.currentTimeMillis() + ".jpg");
            File snapshotFile = new File("D:/snapshot.jpg");
            int width = (int) Toolkit.getDefaultToolkit().getScreenSize().getWidth();
            int height = (int) Toolkit.getDefaultToolkit().getScreenSize().getHeight();
            try {
                Robot robot;
                robot = new Robot();
                BufferedImage image = robot.createScreenCapture(new Rectangle(width, height)); 
                ImageIO.write(image, "jpg", snapshotFile);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return snapshotFile;  
        }
        
        /**
         * 取得圖像上指定位置像素的 rgb 顏色分量。
         *
         * 
    @param image 源圖像。
         * 
    @param x 圖像上指定像素位置的 x 坐標。
         * 
    @param y 圖像上指定像素位置的 y 坐標。
         * 
    @return 返回包含 rgb 顏色分量值的數組。元素 index 由小到大分別對應 r,g,b。
         
    */
        public static int[] getRGB(BufferedImage image, int x, int y) {
            int[] rgb = null;
     
            if (image != null && x < image.getWidth() && y < image.getHeight()) {
                rgb = new int[3];
                int pixel = image.getRGB(x, y);
                rgb[0] = (pixel & 0xff0000) >> 16;
                rgb[1] = (pixel & 0xff00) >> 8;
                rgb[2] = (pixel & 0xff);
            }
     
            return rgb;
        }
     
        /**
         * 將RGB轉換為16進制Hex
         *
         * 
    @param r red顏色分量
         * 
    @param g green顏色分量
         * 
    @param b blue顏色分量
         * 
    @return
         
    */
        public static String toHex(int r, int g, int b) {
            return "#" + toHexValue(r) + toHexValue(g) + toHexValue(b);
        }
     
        private static String toHexValue(int number) {
            StringBuilder builder = new StringBuilder(Integer.toHexString(number & 0xff));
            while (builder.length() < 2) {
                builder.append("0");
            }
            return builder.toString().toUpperCase();
        }
        
        public static void printPointRGB(int x, int y) {
            try {
                BufferedImage bi = ImageIO.read(new File("D:/snapshot.jpg"));
                int[] rgb = getRGB(bi, x, y);
                Color color = new Color(rgb[0], rgb[1], rgb[2]);
                System.out.println("red = " + color.getRed());
                System.out.println("green = " + color.getGreen());
                System.out.println("blue = " + color.getBlue());
                System.out.println("hex = " + toHex(color.getRed(), color.getGreen(), color.getBlue()));
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
        
        public static void main(String[] args) {
            generateSnapshot();
            printPointRGB(100, 100);
        }
    }
    posted on 2015-02-22 22:12 marchalex 閱讀(1968) 評論(0)  編輯  收藏 所屬分類: java小程序
    主站蜘蛛池模板: 亚洲AV日韩AV永久无码免下载| 麻豆亚洲av熟女国产一区二| 亚洲免费观看网站| 四虎在线免费视频| 麻豆狠色伊人亚洲综合网站| 中国人xxxxx69免费视频| 911精品国产亚洲日本美国韩国| 黄色网站软件app在线观看免费| 国产l精品国产亚洲区在线观看| 亚洲另类精品xxxx人妖| 性短视频在线观看免费不卡流畅| 亚洲情a成黄在线观看| 男人天堂2018亚洲男人天堂| 妻子5免费完整高清电视| 国产成人精品日本亚洲直接 | 亚洲AV永久青草无码精品| 精品免费tv久久久久久久| 亚洲精品自拍视频| 成人免费视频一区二区三区| 久久久久久亚洲Av无码精品专口| 中文字幕在线免费| 亚洲AV无码乱码国产麻豆穿越| 无码精品人妻一区二区三区免费看| 亚洲精品无码永久在线观看| 一级中文字幕乱码免费| 免费人成年激情视频在线观看| 一级毛片免费观看不收费| 亚洲午夜免费视频| 午夜视频在线免费观看| 亚洲无限乱码一二三四区| 一级特黄aa毛片免费观看| 一本色道久久88亚洲精品综合| 国产精品视频免费一区二区三区| 精品久久久久久无码免费| 亚洲视频在线观看网址| 成人免费无码大片a毛片| 成人毛片100免费观看| 亚洲国产午夜精品理论片| 亚洲M码 欧洲S码SSS222| 3344免费播放观看视频| 狼人大香伊蕉国产WWW亚洲|