<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小程序
    主站蜘蛛池模板: 在线观看H网址免费入口| 中文字幕av免费专区| 成人福利免费视频| 亚洲国产精品无码久久久| 曰批全过程免费视频网址| 亚洲一区二区三区高清视频| 我的小后妈韩剧在线看免费高清版| 亚洲字幕在线观看| 女人被免费视频网站| 亚洲色大成网站www尤物| 国产精品免费看香蕉| 国产亚洲精彩视频| 亚洲精品无码MV在线观看| 久久精品无码精品免费专区| 久久久久久久亚洲Av无码| 中文字幕无码免费久久99| 亚洲中文无码亚洲人成影院| 国产网站免费观看| 久久国产免费直播| 亚洲成人黄色在线观看| 在线观着免费观看国产黄| 好男人资源在线WWW免费| 色婷婷六月亚洲婷婷丁香| 成年人网站在线免费观看| 看Aⅴ免费毛片手机播放| 亚洲啪啪AV无码片| 国产卡二卡三卡四卡免费网址| 国产成人 亚洲欧洲| 亚洲精品美女久久久久99| 在线永久免费的视频草莓| 国产成人亚洲精品蜜芽影院| 亚洲av永久无码制服河南实里| 在线天堂免费观看.WWW| 亚洲精品视频免费| 亚洲一区中文字幕在线电影网| 免费人成在线观看视频播放| 日本免费污片中国特一级| 亚洲AV网一区二区三区 | 99在线免费观看视频| 国产成人不卡亚洲精品91| 亚洲另类激情综合偷自拍|