所需要用到的类:
Robot
Rectangle
BufferedImage
Java。awt。Robot类用于控制鼠标和键盘,它提供了很多方法来进行鼠标和键盘的操作, 这里我们用他来截取一块屏幕,这个方法是createScreenCapture(Rectangle R),我们看到这个方法需要的参数要用到Rectangle类。
Java。awt。Rectangle它指定了做表空间的一个区域,通过Rectangle 对象的左上顶点的坐标(x,y)、宽度和高度可以定义这个区域。 我们这里用到他的构造函数Rectangle(int x,int y,int width, int height)。 在屏幕中我们添加鼠标事件获取当前取色笔点击的屏幕,当然我们取色是区一个点,所以我们屏幕大小可设为一,然后我们要做的就是把这块屏幕传给BufferedImageot。
java.awt.BufferedImage它是一个可以访问图形数据缓冲区的Image,它的对象是附图片,然后把图片的各个像素存在一个数组中,我们这里把Rectangle对象传过去,也就是一个点,然后我们将用到BufferedImage的一个方法;getRGB(int x,inty),在API中写道:
参数:
x, y - 像素的坐标,从该坐标得到默认 RGB 颜色模型和 sRGB 颜色空间中的像素。
所以我一开始把里面的参数看成了是传过来屏幕的某个坐标,其实这里的参数表达的是像素数组的下标。
getRGB它的返回值是一个int型的数据,所以我想用这个返回值来获取Color的3个RGB值,结果很不理想。它是读取ARGB像素值,并存储到rgbData数组中,rgbData中的数据是以0xAARRGGBB格式存储的,代表每个像素的颜色属性和透明属性。所以我一直没弄懂,然后当我知道 Color可以直接把这个int型的数传过去时,着实蛋疼了一把。
代码:
public void getRGB(int x,int y) throws AWTException
{
rb=new Robot(); //测试自动化
Dimension d= new Dimension(800,800);
Rectangle rec=new Rectangle(x,y,1,1); //一片大小的矩形区域
BufferedImage bi= rb.createScreenCapture(rec);
int pixelColor = bi.getRGB(0,0);
jpanel_color.JBcolor=new Color(pixelColor);
jpanel_color.color_show.setBackground(jpanel_color.JBcolor);
}
分享到:
相关推荐
今天给大家分享一个超级好用的吸色器,只需要按住快捷键: Alt+X,即可实现颜色的吸取。
该代码主要讲解了如何实现了拾色器,又加入了取色时的颜色提示,接近完美!
我用的是c#2008编写的程序,里面包含的功能有橡皮擦,取色,铅笔,直线,矩形,椭圆,圆角矩形功能。
该系统通过图用户界面实现一个简单的绘图功能,工具栏包括铅笔,画刷,取色器,喷枪,橡皮,直线,多边形,矩形,椭圆,圆角矩形,打字等工具,可以通过颜色面板进行画笔颜色选择,提供撤销和重做操作,实现图片保存...
该系统为绘图系统,该系统通过图用户界面实现一个简单的绘图功能,工具栏包括铅笔,画刷,取色器,喷枪,橡皮,直线,多边形,矩形,椭圆,圆角矩形,打字等工具,可以通过颜色面板进行画笔颜色选择,提供撤销和重做...
需要本套五笔词库的支持,换其他词库则不保证实现。 所有输入法状态下,输入半角 / 号作为引导符,后面跟上符号类型的拼音缩写,即可输入。比如:/sb 可输出上标符号、/lm 可输出罗马数字,等等。 /fh 符号 /dn ...
如果您还需要滚动截屏功能,可以看看---- 20210206更新------新增了透视裁剪工具(并附PS里的用法),上方截图工具,取色器工具,油漆桶工具,背景还原画笔(配合背景橡皮擦使用),支持回退10步操作历史记录,添加...
能实现新建、保存、取色、设置画笔大小,还能画出不同图形
渐变画刷的实现 using System; using System.Windows; using System.Windows.Input; using System.Windows.Media; namespace Chapter02 { public class GradiateTheBrush : Window { [STAThread] ...
绘制方面的功能主要包括绘制各种图元,包括直线、Bezier曲线、矩形、圆角矩形、椭圆(圆)、多边形,用笔或画刷自由绘图,橡皮擦擦除,颜料桶填充,取色和区域选取移动。绘图时可以选择各种画笔颜色和画刷颜色,各种...
绘图板实现铅笔、画刷、取色器、喷枪、橡皮、直线、多边形、矩形、椭圆、圆角矩形、 打字的功能,实现了颜色选择,实现了撤销和重做,实现了图片保存、读取等功能。 2. 设计模式: 工厂模式、备忘录模式、单例模式...
C# 高仿 Windows 画图板,实现图片的打开/保存/文字绘制/矩形/圆形/椭圆形/圆角矩形/画刷/画笔/喷枪/曲线/取色等功能。
C# 高仿 Windows 画图板,实现图片的打开/保存/文字绘制/矩形/圆形/椭圆形/圆角矩形/画刷/画笔/喷枪/曲线/取色等功能。
取 腾讯TT浏览器的地址栏文本模块.ec 取节气模块.ec 取试用数据.ec 取非系统进程全路径文件名.ec 变身_超级编辑 框.ec 变速模块(1.0).EC 古木_选择文件夹.ec 古木滑块条_免注册版.ec 句柄操作.ec 各类已打开 的...
2.更改squaring函数,根据windows自带画板是取长和宽中较小的值。 3.修改程序图标(原来用自己的图标放进去老是有问题,最后发现原来是VISTA的权限问题,放到XP下编译就OK了) 用这个搜索就可以找到修改的地方 : ...
这个代码的功能是android取色板实现取色并能改变画笔粗细
子程序 到短路径, 文本型, 公开, 取指定路径的短路径名(返回收缩后的路径,无效返回空文本)如: c:\program files\ 收缩后为:C:\PROGRA~1\ .参数 文件名, 文本型, , 原路径 .子程序 到任意进制, 文本型, 公开, 可以将...
数据源按钮 数据摘要模块(MD5算法实现) 飞扬工作室 数值与十六进制文本的相互转换 数制转换(修该) 双功能自动编号模块 缩放多文档支持库 所有模块 锁键盘数标 T TCP服务器 TWnet.CN 弹出网页广告 弹出下载...