亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從 Java 中的像素讀取 RGB 值

從 Java 中的像素讀取 RGB 值

慕容森 2021-10-28 17:29:31
我試圖從繪制的像素中讀取 RGB 值,但我只得到一個值。當我嘗試獲取 alpha、紅色、綠色和藍色的值時,它總是對每個值都說“0”,除了我實際獲得值的藍色,并且該值始終與“rgb”相同。我的代碼如下所示,如果你們中的任何人能想到解決方案,我將不勝感激。int rgb = image.getRGB(250, 10);rgb = rgb/-65793;System.out.println(rgb);Color f?rg = new Color(rgb, true);int r = f?rg.getRed();int g = f?rg.getGreen();int b = f?rg.getBlue();int a = f?rg.getAlpha();System.out.println(r);System.out.println(g);System.out.println(b);System.out.println(a);打印出來的內容如下:3800380
查看完整描述

2 回答

?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

不需要對二進制值進行除法。


嘗試這個:


int rgb = img.getRGB(250, 10);

Color color = new Color(rgb);


// get colors (e.g. red)

int red = color.getRed();

System.out.println(red);


// retrieve alpha value via bitshifting

int alpha = (rgb & 0xff000000) >>> 24

System.out.println(alpha);


查看完整回答
反對 回復 2021-10-28
?
一只斗牛犬

TA貢獻1784條經驗 獲得超2個贊

BufferedImage bi = ...;

int x = ..;

int y = ..;

Color converted = new Color(bi.getRGB(x, y));

您不必除以 RGB 值。


查看完整回答
反對 回復 2021-10-28
  • 2 回答
  • 0 關注
  • 209 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號