<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小程序
    主站蜘蛛池模板: 免费观看四虎精品成人| 亚洲噜噜噜噜噜影院在线播放| 亚洲一久久久久久久久| 黄在线观看www免费看| 国产高清视频免费在线观看| 在线免费观看a级片| 亚洲人成无码网站在线观看| 思思re热免费精品视频66 | 四虎国产精品永免费| 成人毛片手机版免费看| 亚洲欧美第一成人网站7777 | 亚洲AV日韩精品久久久久| 国产午夜精品免费一区二区三区 | 免费人人潮人人爽一区二区 | 99re6热视频精品免费观看| 亚洲精品国产成人99久久| 免费无码中文字幕A级毛片| 亚洲黄色免费电影| 日韩免费一区二区三区在线播放| 亚洲中文字幕久久精品无码2021| 免费做爰猛烈吃奶摸视频在线观看| 亚洲视频无码高清在线| 国产精品视_精品国产免费| 一级毛片完整版免费播放一区| 亚洲中文字幕无码永久在线| 久久免费看少妇高潮V片特黄| 亚洲成a人片在线观看中文!!!| 毛片视频免费观看| 丁香六月婷婷精品免费观看| 国产亚洲一区二区精品| 希望影院高清免费观看视频| 国产精品亚洲专区无码WEB| 久久久久无码专区亚洲av| 久久久久免费看成人影片| 亚洲国产精品美女久久久久| 国产乱辈通伦影片在线播放亚洲 | 亚洲午夜无码久久| 亚洲一区二区三区免费| 91在线老王精品免费播放| 亚洲精品乱码久久久久蜜桃| 国产日产亚洲系列|