问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

取得图片某一点(x,y)颜色,判断是深色域,还是浅色域?

发布网友 发布时间:2022-04-18 20:38

我来回答

5个回答

热心网友 时间:2022-04-18 22:07

//你要的功能已经实现,自己去试试吧,:b
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;

public class BackroundImage extends JFrame
{
private static final long serialVersionUID = 1L;
JScrollPane scrollPane;
ImageIcon icon;
Image image;
Robot rb = null;

public BackroundImage()
{
//ken.jpg要位于此java文件项目目录下,我的ide :eclipse
icon = new ImageIcon("ken.jpg");

JPanel panel = new JPanel()
{

private static final long serialVersionUID = 1L;

protected void paintComponent(Graphics g)
{
g.drawImage(icon.getImage(), 0, 0, null);
super.paintComponent(g);
}
};
panel.setOpaque( false );
panel.setPreferredSize( new Dimension(800, 600) );
panel.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e) {
int x = e.getX();
int y = e.getY();
//转化成#ffffff格式
Color c = rb.getPixelColor(x, y);
String r = Integer.toHexString(c.getRed());
String g = Integer.toHexString(c.getGreen());
String b = Integer.toHexString(c.getBlue());
if(r.length() == 1) r += "0";
if(g.length() == 1) g += "0";
if(b.length() == 1) b += "0";
//color就是获得点颜色的字符串表示
String color = "#" + r + g +b;
System.out.println(color);
}

});
scrollPane = new JScrollPane( panel );
getContentPane().add( scrollPane );
init();
}
public void init() {
try {
rb = new Robot();
} catch (AWTException e) {
e.printStackTrace();
}
}

public static void main(String [] args)
{
BackroundImage frame = new BackroundImage();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(800, 600);
frame.setLocationRelativeTo( null );
frame.setVisible(true);
}

}

热心网友 时间:2022-04-18 23:25

好像可以考虑用PixelGrabber将image的某个象素存到一个数组pixels中

下面这个例子是将整个图的所有象素存到一个数组pixels中,你对new PixelGrabber(image,0,0,iw,ih,pixels,0,iw)修改修改,应该就可以得到某个点的象素了吧。

pixels = new int[ iw*ih ];
PixelGrabber pg = new PixelGrabber(image,0,0,iw,ih,pixels,0,iw);
pg.grabPixels();

//下面是取红绿蓝的颜色值
int p = pixels[i];
int r = 0xff & ( p>>16 );
int g = 0xff & ( p>>8 );
int b = 0xff & ( p );

热心网友 时间:2022-04-19 01:00

//这是个取任意点颜色的方法。。重要地方我给你加了提示。你看看吧
具体不懂的你问我 QQ:282919088

package 娱乐.桌面;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import java.awt.Color;
import java.awt.MouseInfo;
import java.awt.Point;
import java.awt.Robot;
public class PickColor extends JFrame implements Runnable{
private Robot robot;
private Color color = new Color(0, 0, 0);
private Point point;
private JPanel pane = new JPanel();
private JLabel label = new JLabel();

public PickColor(String title)
{
super(title);
label.setHorizontalAlignment(JLabel.CENTER);
getContentPane().add(pane, "Center");
getContentPane().add(label, "South");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(200,200);
setVisible(true);
new Thread(this).start();
}
public static void main(String[] args)
{
PickColor pc = new PickColor("PickColor");
}

public void run()
{
while(true)
{
try {
Thread.sleep(10);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
try
{
robot = new Robot();
point = MouseInfo.getPointerInfo().getLocation();
color = robot.getPixelColor(point.x, point.y); //获取某坐标的颜色
pane.setBackground(color);
label.setText("RGB(" + color.getRed() + ", " + color.getGreen() + ", " + color.getBlue() + ")");// 获取颜色的值··你可以判读该值的大小判断是不是你需要的颜色
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
}

热心网友 时间:2022-04-19 02:51

Robot robot = new Robot();
robot.getPixelColor(x, y);
判断颜色深浅,不好意思,写不出来

热心网友 时间:2022-04-19 04:59

添加一个鼠标点击监听,方法中取得点击处的坐标(x,y),在取得图片上(x,y)处的颜色,具体要我帮你写吗?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
作为健身达人,你怎么能只知道吃鸡蛋 迷雾剧场再出新作 八角亭谜雾》表现如何 专利著作权不可以转让吗 我骑自行车被小气车撞了下,小汽车全责,有事故认定,我有一根利骨骨_百度... 怎么摆脱已分手男人的纠缠 东莞东站到东莞体育管怎么走 东莞市莞太路34号联丰工业区是在南城区吗? 哪个软件免费下载的网站最好呢? update语句SQL问题 sql2000,将表1与表2相同字段的数据找出来,并更新表1的字段 清明节前一天能上坟吗 为什么白板笔怎么容易没水 对于佟丽娅的穿搭哪些是你最喜欢的? 与古力娜扎做闺蜜会不会很幸福? 有哪些女明星你小时候觉得她不好看,长大以后你就觉得她好看的? 如何评价迪丽热巴在跑男中的表现? 她是明星吗 民族舞蹈哪种容易跳,没有基础要考试 求大家帮忙 谢过大伙儿!!! 多才多艺的迪丽热巴,是否在杂技表演上很专业? 有什么舞蹈是现代舞和新疆舞的集合?就是现代舞的风格,但是又带有一点异域风情的? evian矿泉水价格贵吗 手机屏幕漏液了,放冰箱冷冻后黑线反而增多了,哪里不对呢?? 屏幕黑斑只剩下淡淡一块,还用冷冻法消除吗? 我的笔记本昨天晚上在外面冻了一晚上,大概零下十几度吧,结果第二天起来屏幕出现大量黑线,怎么办? 想成为一名视频剪辑师,目前想考各类相关证书,请问上海哪里有这方面专业的培训机构? 王者头像和微信头像是一样的吗 有一种图片背景白色,上面有logo或是作者自己写的字,那字的颜色却是一张图的背景, 谢霆锋和张柏之是哪年结婚的 张柏芝和谢霆锋什么时候结婚啊? 谢霆锋和张柏芝是在哪一年结的婚? 清明前一天可以上坟吗 清明前一天不能上坟吗 清明节前一天为什么不 清明节前一天可以扫墓吗作文 清明过了一天可以上坟吗 如何促进文化大发展大繁荣 黑龙江省新闻出版局的内设机构 芹泉镇的发展状况 我国主要的茶油出口企业有哪些 vivo手机一触屏就有语音播报并且不受控制怎么办 大家好,我公司是做茶油出口的,可是我在中国海关却查不到相对应的海关编码,有谁知道吗?麻烦请告知 华为手机如何查看连接的wifi密码? 山茶油出口退税吗 华为手机能查看wifi密码吗怎么样连接电视 目前中国的茶油有无出口 国家目前的茶油产业如何? 目前华为手机有没有一种可以安全查看到连不上不知道密码的WIFI密码查看器连接软件呢? 求进口的山茶油品牌哪个好? #湖南省现代农业产业控股集团茶油有限公司#面试官感觉很low,对一个在出口企业有着十几年工作经验的 用AI设计logo 导出的图片颜色(CMYK模式)和在AI里设计的颜色不一样 印刷出的也不一样 万行教师app怎样修改照片