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

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

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

    posts - 59, comments - 244, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    屏幕取色工具ColorCat

    Posted on 2011-01-16 17:38 penngo 閱讀(3429) 評論(0)  編輯  收藏 所屬分類: 練手作品
    ColorCat是俺寫的一個小工具,主要是用于獲取屏幕上任一顯示點的顏色,小巧的屏幕取色工具,能在屏幕上抓取任何你要的顏色,并轉(zhuǎn)成RGB和十六進制顏色數(shù)值。
    以前一直是用別人寫的屏幕取色工具。不過某一天偶然看到j(luò)dk里面java.awt.Robot有個方法getPixelColor(x, y)可以獲取屏幕某點坐標(biāo)的顏色值,當(dāng)時立即想到把它和之前寫的鼠標(biāo)鉤子http://m.tkk7.com/pengo/archive/2010/12/17/340938.html結(jié)合,花了點時間做出了這個屏幕取色工具軟件,并起了個名ColorCat。
    代碼的實現(xiàn)很簡單,只需把鼠標(biāo)鉤子的實現(xiàn)http://m.tkk7.com/pengo/archive/2010/12/17/340938.html這篇文章的callback方法修改一下就行了,修改部分代碼如下,具體的源碼,需要的可以自己下載文章結(jié)尾的附件。
    public LRESULT callback(int nCode, WPARAM wParam,
                            MOUSEHOOKSTRUCT info) {
                        
    if (nCode >= 0) {
                            
    int x = info.pt.x;
                            
    int y = info.pt.y;
                            textField_X.setText(String.valueOf(x));
                            textField_Y.setText(String.valueOf(y));
                            Color color 
    = robot.getPixelColor(x, y);
                            
    switch (wParam.intValue()) {
                            
    case MainWindow.WM_MOUSEMOVE:
                                cruColor.setBackground(color);
                                
    break;
                            
    case MainWindow.WM_LBUTTONDOWN:
                                
    if (isColor) {
                                    textField_Red.setText(String.valueOf(color
                                            .getRed()));
                                    textField_Green.setText(String.valueOf(color
                                            .getGreen()));
                                    textField_Blue.setText(String.valueOf(color
                                            .getBlue()));
                                    selectColor.setBackground(color);
                                    String red 
    = MainWindow.decimalToHex(color
                                            .getRed());
                                    String green 
    = MainWindow.decimalToHex(color
                                            .getGreen());
                                    String blue 
    = MainWindow.decimalToHex(color
                                            .getBlue());
                                    textField_Html
                                            .setText(
    "#" + red + green + blue);

                                }
                                
    break;
                            
    case MainWindow.WM_MBUTTONDOWN:
                                
    break;
                            
    case MainWindow.WM_MBUTTONUP:
                                
    break;
                            }
                        }
                        
    return lib.CallNextHookEx(hhk, nCode, wParam,
                                info.getPointer());
                    }

    window下運行效果:


    目前只實現(xiàn)了最簡單的取色功能,等有時間,把調(diào)色板和顏色值轉(zhuǎn)換的功能也加上,讓這工具在以后的開發(fā)中更實用。如果其他人有好的功能建議,也可告訴我修改^_^。

    運行程序:ColorCat.jar (需要jre6)
    源碼:ColorCat.src
    主站蜘蛛池模板: 中文字幕在亚洲第一在线| 国内精品免费视频自在线| 国产精品亚洲片在线观看不卡| 免费国产在线精品一区| 亚洲综合精品网站在线观看| 高潮毛片无遮挡高清免费 | 亚洲网站在线免费观看| 亚洲AV乱码一区二区三区林ゆな| 久久青草精品38国产免费| 亚洲精品私拍国产福利在线| 污污网站免费观看| 亚洲一区二区久久| 日本高清免费不卡在线| 深夜福利在线视频免费| 亚洲成AV人在线观看天堂无码| 久久精品一本到99热免费| 亚洲午夜精品一区二区公牛电影院 | 国产精彩免费视频| 成人区精品一区二区不卡亚洲| 午夜视频免费观看| 一个人看的hd免费视频| 亚洲AV成人一区二区三区AV| 精品香蕉在线观看免费| 鲁死你资源站亚洲av| 亚洲色欲久久久综合网| 91免费国产精品| 亚洲国产成人久久综合| 亚洲最大av无码网址| 97久久免费视频| 亚洲国产AV无码一区二区三区 | 免费看国产一级特黄aa大片| 国产免费人成视频尤勿视频| 亚洲精品免费在线视频| 国产在线观看免费视频播放器| 中国人免费观看高清在线观看二区 | 亚洲人成高清在线播放| 亚洲国产综合无码一区二区二三区| 精品免费tv久久久久久久| 在线亚洲高清揄拍自拍一品区| 亚洲国产av一区二区三区| 中文字幕亚洲专区|