24小时热门版块排行榜    

查看: 2810  |  回复: 2

xizi9930

银虫 (小有名气)

[交流] 【求助】为什么我获取的像素值都是负数呢? 已有2人参与

import java.awt.*;
import java.awt.image.*;

class Getpixel {
        public static void main(String[] args) {

                Toolkit getPackage = Toolkit.getDefaultToolkit();

                MediaTracker tracker = new MediaTracker(new Canvas());
                Image img = getPackage.getImage("e:\\3.jpg ";

                tracker.addImage(img, 0);
                try {
                        tracker.waitForID(0);
                } catch (InterruptedException e) {
                        e.printStackTrace();
                }

                int w = img.getWidth(null);
                int h = img.getHeight(null);

                int[] pixels = new int[w * h];
                int gray;
                PixelGrabber pg = new PixelGrabber(img, 0, 0, w, h, pixels, 0, w);
                try {
                        pg.grabPixels();
                } catch (InterruptedException e) {
                        System.err.println("interrupted waiting for pixels!";
                        return;
                }
                if ((pg.getStatus() & ImageObserver.ABORT) != 0) {
                        System.err.println("image fetch aborted or errored";
                        return;
                }
                for (int j = 0; j < h; j++) // 扫描列
                {
                        for (int i = 0; i < w; i++) // 扫描行
                        {
                                System.out.print(pixels[w * j + i] + "     ";
                        }
                        System.out.println(" ";
                }

        }
}
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

holmescn

金虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
能得到RGB值吗?看看那个值对不对
2楼2010-11-02 10:08:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

十三月如豆

金虫 (小有名气)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
nono2009(金币+2):鼓励应助 2010-11-28 08:35:14
里面的pixels 值 是根据 getRGB()方法返回的默认 sRGB ColorModel 中表示颜色的 RGB 值。(24-31 位表示 alpha,16-23 位表示红色,8-15 位表示绿色,0-7 位表示蓝色)。

要得到具体R,G,B颜色分量得做个位移
比如某个pixels值为 rgb 那么根据下面的公式来算
int r = (rgb & 16711680) >> 16;
int g = (rgb & 65280) >> 8;
int b = (rgb & 255);

就得到了R,G,B三色的int值
3楼2010-11-27 14:19:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xizi9930 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 0703化学调剂 +4 18889395102 2026-03-18 4/200 2026-03-19 16:13 by 30660438
[考研] 271材料工程求调剂 +6 .6lL 2026-03-18 6/300 2026-03-19 15:41 by haoshis
[考研] 317求调剂 +3 申子申申 2026-03-19 6/300 2026-03-19 14:16 by 申子申申
[考研] 化学求调剂 +3 临泽境llllll 2026-03-17 4/200 2026-03-19 13:59 by houyaoxu
[考研] 一志愿吉林大学材料学硕321求调剂 +6 Ymlll 2026-03-18 9/450 2026-03-19 10:28 by 星空星月
[考研] 354求调剂 +4 Tyoumou 2026-03-18 7/350 2026-03-18 21:45 by Tyoumou
[考研] 26调剂/材料/英一数二/总分289/已过A区线 +7 步川酷紫123 2026-03-13 7/350 2026-03-18 17:12 by 尽舜尧1
[考研] 化学工程321分求调剂 +15 大米饭! 2026-03-15 18/900 2026-03-18 14:52 by haxia
[考研] 材料与化工一志愿南昌大学327求调剂推荐 +8 Ncdx123456 2026-03-13 9/450 2026-03-18 14:40 by haxia
[考研] 收复试调剂生 +4 雨后秋荷 2026-03-18 4/200 2026-03-18 14:16 by elevennnne
[考研] 312求调剂 +8 陌宸希 2026-03-16 9/450 2026-03-18 12:39 by Linda Hu
[考研] 工科材料085601 279求调剂 +6 困于星晨 2026-03-17 6/300 2026-03-18 10:21 by kkcoco25
[考研] 一志愿南京大学,080500材料科学与工程,调剂 +4 Jy? 2026-03-16 4/200 2026-03-17 11:02 by gaoqiong
[考研] 302求调剂 +4 小贾同学123 2026-03-15 8/400 2026-03-17 10:33 by 小贾同学123
[考研] 283求调剂 +3 听风就是雨; 2026-03-16 3/150 2026-03-17 07:41 by 热情沙漠
[考研] 326求调剂 +3 mlpqaz03 2026-03-15 3/150 2026-03-16 07:33 by Iveryant
[考研] 085601材料工程315分求调剂 +3 yang_0104 2026-03-15 3/150 2026-03-15 10:58 by peike
[考研] 求材料调剂 085600英一数二总分302 前三科235 精通机器学习 一志愿哈工大 +4 林yaxin 2026-03-12 4/200 2026-03-13 22:04 by 星空星月
[考研] [0860]321分求调剂,ab区皆可 +4 宝贵热 2026-03-13 4/200 2026-03-13 22:01 by 星空星月
[考研] 295求调剂 +3 小匕仔汁 2026-03-12 3/150 2026-03-13 15:17 by vgtyfty
信息提示
请填处理意见