`

怎样获得当前mouse坐标处的颜色??[

    博客分类:
  • Java
阅读更多
import   java.awt.*;
import   java.awt.event.*;
import   java.awt.image.*;
import   javax.swing.*;  

public   class   GetPixel   {

public   PixelMadness()   {
ImageHolder   holder   =   new   ImageHolder();
JFrame   frame   =   new   JFrame();
JPanel   panel   =   new   JPanel();
panel.add(holder);
frame.getContentPane().add(panel);
frame.setSize(400,400);
frame.setVisible(true);
}

public   static   void   main(String[]   args)   {  
GetPixel   getpixel   =   new   GetPixel();  
}

}

class   ImageHolder   extends   Canvas   {
ImageIcon   icon   =   new   ImageIcon( "zx2.jpg ");  
Image   image   =   icon.getImage();  
int   imageWidth   =   image.getWidth(this);
int   imageHeight   =   image.getHeight(this);
int[]   pixelArray   =   new   int[imageWidth   *   imageHeight];
PixelGrabber   grabber   =   new   PixelGrabber(image,0,0,imageWidth,imageHeight,pixelArray,0,imageWidth);

public   ImageHolder()   {
try   {   grabber.grabPixels();   }
catch(InterruptedException   ie){
System.out.println( "Pixel   array   not   completed ");
return;
}

addMouseListener(new   MouseAdapter(){
public   void   mouseClicked(MouseEvent   me){
int   mouseX   =   (int)me.getPoint().getX();
int   mouseY   =(int)   me.getPoint().getY();
int   pixel   =   pixelArray[(mouseY   *   imageWidth)   +   mouseX];
getPixel(pixel);
}
});

setSize(imageWidth,imageHeight);
}

public   void   paint(Graphics   g){
int   xCenter   =   (getSize().width   /   2)   -   (imageWidth   /   2);
int   yCenter   =   (getSize().height   /   2)   -   (imageHeight   /   2);
g.drawImage(image,   xCenter,   yCenter,   imageWidth,   imageHeight,   this);
}

public   void   getPixel(int   pixel){
        int     alpha   =   (pixel   > >   24)&0xff;
        int     red     =   (pixel   > >   16)&0xff;
        int     green   =   (pixel   > >  &0xff;
        int     blue     =   (pixel)&0xff;
        System.out.println(   "( "+alpha+ ", "+red+ ", "+green+   ", "+blue+   ") ");
}
}  










import   java.awt.*;
import   java.awt.event.*;
import   java.awt.image.*;
import   javax.swing.*;  

public   class   GetRectPixel   {

public   GetRectPixel()   {
ImageHolder   holder   =   new   ImageHolder();
JFrame   frame   =   new   JFrame();
JPanel   panel   =   new   JPanel();
panel.add(holder);
frame.getContentPane().add(panel);
frame.setSize(400,400);
frame.setVisible(true);
}

public   static   void   main(String[]   args)   {  
GetPixel   getpixel   =   new   GetPixel();  
}
}

class   ImageHolder   extends   Canvas{
BufferedImage   bi   ;
Image   image;  
MediaTracker   mt   ;
int   imageWidth;
int   imageHeight;

public   ImageHolder()   {
mt   =new   MediaTracker(this);  
try{
image   =   Toolkit.getDefaultToolkit().createImage( "gigi3.jpg ");
mt.addImage(image,0);
mt.waitForAll();
imageWidth   =     image.getWidth(this);
imageHeight   =   image.getHeight(this);
}
catch(Exception   e){}
bi   =   new   BufferedImage(imageWidth,imageHeight,BufferedImage.TYPE_INT_RGB);
addMouseListener(new   MouseAdapter(){
public   void   mouseClicked(MouseEvent   me){
int   mouseX   =   (int)me.getPoint().getX();
int   mouseY   =(int)   me.getPoint().getY();
getPixel(mouseX,mouseY);
}
});

setSize(imageWidth,imageHeight);
}

public   void   paint(Graphics   g){
int   xCenter   =   (getSize().width   /   2)   -   (imageWidth   /   2);
int   yCenter   =   (getSize().height   /   2)   -   (imageHeight   /   2);
g.drawImage(image,   xCenter,   yCenter,   imageWidth,   imageHeight,   this);
}

public   void   getPixel(int   x,int   y){
    ColorModel   cm   =   this.getColorModel();
    int   rgb   =   cm.getRGB(x*y);
    int   red   =   (rgb> > 24)&0xff   ;
    int   green   =   (rgb> > 16)&0xff   ;
    int   blue   =   (rgb> >&0xff   ;
    System.out.println(   "( "+red+ ", "+green+   ", "+blue+   ") ");
  }
}  
分享到:
评论

相关推荐

    获取屏幕上鼠标的位置坐标及其RGB颜色值

    本主题聚焦于如何在MFC应用中获取屏幕上鼠标的位置坐标及其对应的RGB颜色值。这是一项关键的技术,通常用于颜色拾取器工具或类似的图像处理软件。 首先,要获取鼠标的位置,我们需要监听鼠标的移动事件。在MFC中,...

    获得鼠标当前处的颜色RGB值VS2010

    在编程领域,获取鼠标当前所在位置的颜色RGB值是一项常见的需求,尤其在图形用户界面(GUI)开发中。本文将详细讲解如何使用Visual Studio 2010中的VB.NET语言实现这一功能。 首先,我们需要理解RGB颜色模型。RGB...

    获取鼠标位置的颜色值

    在计算机编程领域,获取鼠标位置的颜色值是一项常见的需求,特别是在图形用户界面(GUI)开发或者图像处理相关的项目中。这个基于VC(Visual C++)环境的程序源码提供了一个实用的功能,即实时获取鼠标指针所在位置...

    获得当前鼠标指定位置的颜色(源码)

    本篇文章将深入探讨如何实现“获得当前鼠标指定位置的颜色”,并提供相关的编程源码。 首先,我们需要理解基本原理。在计算机屏幕上,每一个像素都有其特定的RGB(红绿蓝)值,这些值组合起来形成了我们看到的各种...

    通过鼠标获取屏幕颜色值

    开发者可以编写程序来监听这些事件,获取鼠标的当前位置(X和Y坐标)。 4. **颜色获取技术**:获取屏幕颜色值通常需要利用操作系统提供的API(应用程序接口)。例如,在Windows中,可以使用`GetPixel`函数,它接受...

    鼠标位置信息获取器

    《鼠标位置信息获取器》是一款实用的工具,它允许用户实时获取鼠标在屏幕或特定窗口上的位置信息,包括相对桌面坐标、相对窗口坐标以及鼠标的点击位置的颜色值,并且能够显示当前活动窗口的信息。这款软件基于MFC...

    Opencv鼠标获取图像坐标

    在OpenCV库中,我们可以利用其提供的回调函数机制来实现鼠标事件的监听,进而获取图像上的像素坐标。这个过程在“Opencv鼠标获取图像坐标”的主题中被详细阐述。OpenCV是一个强大的开源计算机视觉库,它包含了许多...

    获取鼠标位置颜色

    `MouseCoord()`函数返回鼠标当前的屏幕坐标,然后`PixelGetColor`根据这些坐标获取颜色值。 然而,为了实时获取鼠标移动时的位置颜色,我们需要监听鼠标移动事件。AutoIt提供了`Opt`函数来设置选项,例如启用鼠标...

    coord_rgb4mouse.rar_mouse camera opencv

    在这个项目中,开发人员旨在实现一个功能,即当鼠标在摄像头的视图范围内移动时,能够实时显示鼠标的像素坐标以及该位置的RGB颜色值。 OpenCV(开源计算机视觉库)是一个广泛使用的跨平台库,它包含了大量的算法,...

    C#获取屏幕坐标位置(鼠标钩子)

    在本文中,我们将深入探讨如何使用C#编程语言来实现一个功能,即获取屏幕上的鼠标坐标位置。这个功能是通过创建一个"鼠标钩子"来实现的,这涉及到Windows API的使用,特别是SetWindowsHookEx函数。让我们一起探索这...

    python点击鼠标获取坐标(Graphics)

    接着,代码绘制了一些基本图形,如点、圆、线、矩形和椭圆,展示了如何设置图形的位置、大小、颜色等属性。这些图形是通过`Point`、`Circle`、`Line`、`Rectangle`和`Oval`类创建的,并用`draw(win)`方法将它们显示...

    html5 canvas 画雷达图. 实现内部元素的click,mousemove,mouseout事件.

    同样使用`addEventListener`添加鼠标移动事件监听器,实时获取鼠标位置并更新浮动提示信息,如显示当前鼠标所在数据点的详细信息。 - mouseout事件:当鼠标离开雷达图区域时触发。可以用来隐藏浮动提示信息或者执行...

    Python中pygame的mouse鼠标事件用法实例

    2. `pygame.mouse.get_pos()`:这个函数返回一个元组,包含了当前鼠标光标在屏幕上的x和y坐标。你可以用这两个值来确定鼠标的位置并根据需要更新游戏或应用的状态。 3. `pygame.mouse.get_rel()`:此函数返回一个...

    C#颜色拾取Dome

    在这个项目中,可能是通过WinForms的`MouseClick`或`MouseMove`事件来实现颜色拾取。 3. **获取屏幕像素颜色** 在C#中,可以使用`System.Drawing`命名空间下的`Graphics`类来获取屏幕上的像素颜色。首先,需要获取...

    鼠标获取图像RGB和位置

    mouse_position = (x, y) # 获取坐标 print(f"坐标:({x}, {y}),RGB值:{current_color}") # 加载或创建图像 image = cv2.imread("image.jpg") if image is None: image = cv2.resize(cv2.imread(cv2.samples....

    WPF中获取鼠标相对于屏幕的位置

    `GetScreenPosition`方法负责调用`GetCursorPos`并返回鼠标当前位置的坐标。最后,在`Main`方法中,我们调用了`GetScreenPosition`方法并打印出鼠标的位置。 ### 总结 通过上述介绍,我们可以看到,在WPF中获取...

    VByk识别答题卡颜色

    `Command3_Click`子程序也是利用类似的方法获取鼠标当前位置,并通过传入的文本框中的X和Y坐标值获取像素颜色值,然后将这些值显示在相应的标签上。 ### 知识点五:Command6_Click 这是整个程序的核心逻辑部分,...

    html5-canvas-mouse-ink

    为了实现连续的线条,我们可能需要在每次鼠标移动时保存当前的坐标,并在下一次移动时从上次结束的位置开始画线。 动画效果的实现可能涉及到`requestAnimationFrame()`,这是一个浏览器提供的API,用于在下一次重绘...

    颜色转换.rar

    本文将深入探讨如何使用C#语言,结合Windows系统API,实现鼠标点击处像素颜色的获取,并进行简单的颜色转换。 首先,我们需要理解颜色的基本概念。在计算机中,颜色通常由红、绿、蓝(RGB)三个通道的值来表示,每...

    界面通过标签、文本框等控件,实现对图像每点的像素的坐标读取,并通过g.Drawline的方法绘制十字交叉线

    这通常通过监听鼠标事件(如`MouseClick`)来实现,获取到的坐标通常是相对于控件的左上角。 3. **坐标读取**: - 图像的每个像素都有其坐标,通常以`(x, y)`的形式表示,其中`x`是水平方向的像素位置,`y`是垂直...

Global site tag (gtag.js) - Google Analytics