java獲得滑鼠所在位置的影像的rgb值。 (轉)
import .awt.*;
import java.awt.event.*;
import java.awt.image.*;
import javax..*;
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();
//獲得該處的rgb值
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){
//獲得ImageHolder的色彩模型
ColorModel cm = this.getColorModel();
//把象素形式的色彩(ImageHolder)以rgb的形式返回。
int rgb = cm.getRGB(x*y);
//分別獲得其r,g,b值。
int red = (rgb>>16)&0xff ;
int green = (rgb>>8)&0xff ;
int blue = (rgb)&0xff ;
System.out.println( "("+red+","+green+ ","+blue+ ")");
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-991351/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 從IT中獲得最大價值(轉)
- jQuery獲得指定text的值jQuery
- Python教程:如何獲取顏色的RGB值Python
- C#獲得彈出框的值C#
- js 正則判斷顏色值,HEX轉RGB,HSL轉RGBJS
- Java中使用Optional檢測並獲得非空值的幾種方法Java
- Java常見的系統屬性值及如何通過Java程式設計獲得系統屬性值Java程式設計
- 從EBS中獲得值集對應的SQL的方法SQL
- jquery獲得option的值和對option進行操作jQuery
- 關於如何獲得ListView中選中項的值View
- RGB與YIQ的轉換
- CCNA滿分獲得者的經驗(轉)
- 埃森哲:獲得技術系統的全部價值
- java 獲得系統資訊Java
- java 獲取傳入值的區間Java
- oracle分組查詢獲得組的最大值記錄Oracle
- 從ERP系統中獲得價值 整個行業的數字化轉型行業
- JavaScript 十六進位制顏色和RGB顏色值的相互轉換JavaScript
- win10怎麼獲取顏色值_win10系統獲取螢幕顏色HSL值RGB值方法Win10
- RGB2YUV 的verilog實現(RGB轉YUV)
- openCV中的影像處理 3 影像閾值OpenCV
- 如何用Java獲得過去或未來的日期?Java
- java中獲得檔案大小,用RandomAccessFile的lengh方法JavarandomMac
- js實現的十六進位制顏色和RGB顏色值的相互轉換JS
- 獲取影像的屬性
- 大資料時代,怎樣才能獲得真正有價值的資訊大資料
- Go語言如何獲得一個檔案的md5值Go
- 人工智慧影像圈地時代,誰將獲得頭籌?人工智慧
- YUV格式到RGB格式的轉換
- 獲得類的屬性
- 用Java獲得當前效能資訊Java
- 4-字元轉換及所在位置字元
- Java/JSP獲得客戶端網路卡MAC地址的三種方法解析(附:獲得真實IP)JavaJS客戶端Mac
- servlet裡獲得jsp頁面裡select的選項之值ServletJS
- JAVA獲取json中的全部鍵值對JavaJSON
- Java工程師:非科班自學Java是如何獲得校招offer的Java工程師
- opencv 獲取影像的屬性OpenCV
- 二值影像