使用上稍微不太习惯,但总比到各个不靠谱的下载站下载个病毒的软件要好多了,鼠标点选要获取的地方,然后点击alt即可获取到颜色值
效果图如下:
Java取色器开发背景:
自己的想法能用各种代码的组合实现出来,真的很有成就感啊,哈哈。
在你想要的颜色上面点下ALT键,就这么简单。
.exe文件使用exe4j做的,在我的机子上能用,没有别的机子进行测试,要是不能用,请通知我。
今天对前几天做的取色器进行了修改,去掉了一大堆重复的代码,添加了一个JLabel,可以对选中的颜色进行即时显示,防止点错,欢迎大家的使用。
经过了这么多天,我对面向对象还是不是很明白,写的代码的结构也不好,谁能帮我改一下啊,谢谢了。
更新日志:
v1.1
终于回到家了,对前几天做的取色器进行了修改,去掉了一大堆重复的代码,
添加了一个JLabel,可以对选中的颜色进行即时显示,防止点错,欢迎大家的使用。
经过了这么多天,对面向对象还是不是很明白,写的代码的结构也不好,谁能帮我改一下呢?
v1.0
经过这么多天的学习,这是我做出的第一个JAVA程序。自己的想法能用各种代码的组合实现出来,真的很有成就感啊,哈哈。
在你想要的颜色上面点下ALT键,就这么简单。
等有空了,我还想在这上面多加点功能,如果你有了好的想法,请告诉我一下。
谢谢。
代码如下:
Java code
/**Java取色器 v1.1
终于回到家了,对前几天做的取色器进行了修改,去掉了一大堆重复的代码,
添加了一个JLabel,可以对选中的颜色进行即时显示,防止点错,欢迎大家的使用。
**/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.MouseInfo.*;
import java.awt.datatransfer.*;
public class ColorTest extends JFrame implements ActionListener,KeyListener
{
Robot robot;
Point mousepoint;
Integer R=0,G=0,B=0;
Integer X=0,Y=0;
Color pixel = new Color(0,0,0);
String s16="";
MouseInfo mouseinfo=null;
JLabel JR,JG,JB,JX,JY,J16,JCol;
JTextField JTFR,JTFG,JTFB,JTFX,JTFY,JTF16;
JButton JCopy,JExit;
JPanel pix=new JPanel(),zb=new JPanel(),pb=new JPanel();
//主窗口上菜单的建造。
public void setMenuBar()
{
JMenuBar myBar=new JMenuBar();
JMenu helpMenu=new JMenu("帮助");
JMenuItem help_About=new JMenuItem("关于");
this.setJMenuBar(myBar);
myBar.add(helpMenu);
helpMenu.add(help_About);
help_About.addActionListener(this);
}
//界面各种组件的初始化以及布局。
public void ColorTest()
{
setTitle("DarkMao");
JR=new JLabel("R: ");
JG=new JLabel("G: ");
JB=new JLabel("B: ");
JX=new JLabel("X: ");
JY=new JLabel("Y: ");
J16=new JLabel("十六进制表示:");
JCol=new JLabel("■■■■■");
JTFR=new JTextField(5);
JTFG=new JTextField(5);
JTFB=new JTextField(5);
JTF16=new JTextField(6);
JTFX=new JTextField(5);
JTFY=new JTextField(5);
JCopy=new JButton("复制");
JExit=new JButton("退出");
setFocusable(true);
addKeyListener(this);
JCopy.addActionListener(this);
JExit.addActionListener(this);
JCopy.addKeyListener(this);
JExit.addKeyListener(this);
JTFR.addKeyListener(this);
JTFG.addKeyListener(this);
JTFB.addKeyListener(this);
JTF16.addKeyListener(this);
JTFX.addKeyListener(this);
JTFY.addKeyListener(this);
pix.setLayout(new FlowLayout());
zb.setLayout(new FlowLayout());
pb.setLayout(new FlowLayout());
pix.add(JR);
pix.add(JTFR);
pix.add(JG);
pix.add(JTFG);
pix.add(JB);
pix.add(JTFB);
zb.add(JX);
zb.add(JTFX);
zb.add(JY);
zb.add(JTFY);
pix.add(JCol);
pix.add(J16);
pix.add(JTF16);
pb.add(JCopy);
pb.add(JExit);
setLayout(new BorderLayout());
add(pix,BorderLayout.CENTER);
add(zb,BorderLayout.NORTH);
add(pb,BorderLayout.SOUTH);
}
//把当前选中的颜色的十六进制表示复制到系统的剪贴板中,方便使用。
//输入的参数就是待放入剪贴板的数据。
public static void setClipboard(String str)
{
StringSelection ss = new StringSelection(str);
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, null);
}
//对按钮和菜单进行响应。
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==JCopy)
{ if(s16=="")
{
JOptionPane.showMessageDialog(null,"请在你想要的颜色上面按Alt键进行选取。","提示",JOptionPane.INFORMATION_MESSAGE);
}
else
{
setClipboard(s16);
JOptionPane.showMessageDialog(null,"你所选取的16进制颜色代码 "+s16+" 已经复制到剪贴板中,请在你想用的地方按Ctrl+V粘贴。","提示",JOptionPane.INFORMATION_MESSAGE);
}
}
else if(e.getSource()==JExit)
{
JOptionPane.showMessageDialog(null,"谢谢您的使用,这是我用java做的第一个小程序,如果你在使用过程用有了什么好玩的想法,一定要告诉我啊!","谢谢使用",JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
}
if(e.getActionCommand()=="关于")
JOptionPane.showMessageDialog(this,"DarkMao 取色器 1.0\n和PS里的拾色器功能类似,但是使用方便,不用先截图再打开PS了,希望你能喜欢。\n想知道鼠标在的这一点的颜色吗?点下ALT键看看吧。\n如果你在使用过程中有了什么主意的话,请告诉我一下,谢谢。\nE-mail: 2whol@163.com","关于我",JOptionPane.INFORMATION_MESSAGE);
}
//当按键放开的时候才对案件进行响应,如果不想一下一下的点,
//可以把里边的代码剪切到keyPressed()中,这样只要按下alt键同时移动鼠标就可以了。
public void keyReleased(KeyEvent e)
{
//int code=e.getKeyCode();
//System.out.println(code);
if(e.getKeyCode()==18)
{
try{
Robot robot = new Robot();
mousepoint = mouseinfo.getPointerInfo().getLocation();
//System.out.println(mousepoint);
pixel = robot.getPixelColor(mousepoint.x,mousepoint.y);
X = mousepoint.x;
Y = mousepoint.y;
R = pixel.getRed();
G = pixel.getGreen();
B = pixel.getBlue();
JTFR.setText(R.toString());
JTFG.setText(G.toString());
JTFB.setText(B.toString());
JTFX.setText(X.toString());
JTFY.setText(Y.toString());
//System.out.println(pixel);
s16="#"+Integer.toHexString(R)+Integer.toHexString(G)+Integer.toHexString(B);//得到颜色的十六进制表示。
JTF16.setText(s16);
Color col=new Color(R,G,B);
JCol.setForeground(col);//对当前选中的颜色进行显示。
}catch(AWTException ex)
{
ex.printStackTrace();
}
}
}
public void keyTyped(KeyEvent e)
{
}
public void keyPressed(KeyEvent e)
{
}
}
class CT
{
public static void main(String[] args)
{
ColorTest ct = new ColorTest();
ct.setMenuBar();
ct.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ct.setSize(300,200);
ct.setLocation(200,200);
ct.ColorTest();
ct.setVisible(true);
}
}






















大小: 34.5M

滚屏截图工具FSCapturev9.6 汉化绿色版
提取PDF文件中的图像(PDF Image Extraction Wizard)V6.31 汉化注册版
win7截图工具(SnippingTool)v6.1绿色版
红蜻蜓抓图精灵V3.01 官方最新版
小巧实用的屏幕取色工具TakeColor
网页滚动截图V1.0绿色免费版
网页文字抓取器V1.5绿色版
智能抠图V2.01安装免费版
Snagit2019中文汉化版v2019.1.2 Build 3596 最新版
视频截图软件(Image Grabber II)汉化绿色特别版
屏幕视频抓取(Quick Screen Recorder )1.5 汉化免费版
容易抠图(简单易用的抠图软件)1.0 中文绿色版
屏幕抓图WinSnapv5.1.7 多语绿色便携版
QQ截图独立单文件绿色便携版
多功能小巧截图工具(截取不规则区域图片)1.0 中文绿色版
Moo0 ColorPicker(屏幕取色器)V1.14 中文版