24小时热门版块排行榜    

查看: 2864  |  回复: 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 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 今天放榜吗? +7 布布和一二 2026-08-19 7/350 2026-08-19 09:17 by 陈晨晨陈啊
[基金申请] 什么时候开奖? +6 CrisMessi 2026-08-18 6/300 2026-08-19 08:06 by Equinoxhua
[基金申请] 不应该看fileCode +8 且听虎啸 2026-08-12 10/500 2026-08-19 08:03 by luw152
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +52 医学老男孩 2026-08-13 113/5650 2026-08-19 07:58 by 医学老男孩
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +7 启萌科技 2026-08-12 27/1350 2026-08-18 21:44 by Noways
[教师之家] 为什么余额宝的年化利率越来越低?主要原因有哪些? +3 瞬息宇宙 2026-08-15 3/150 2026-08-18 21:40 by xiaohuixin
[基金申请] 2027广东省杰青 +3 奶牛小黑 2026-08-15 9/450 2026-08-18 20:09 by 奶牛小黑
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
[基金申请] 时间戳变了,能看出什么问题? +8 基诺咪客 2026-08-17 11/550 2026-08-18 17:13 by 悠然熊猫
[基金申请] 时间戳又变了8-15 +14 archvillain 2026-08-15 26/1300 2026-08-18 13:37 by phantomgost
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +13 Ldrop2023 2026-08-13 16/800 2026-08-18 12:25 by 淀粉搬运工
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +4 Tide man 2026-08-14 5/250 2026-08-18 11:35 by Tide man
[基金申请] 感觉是下周放榜了 +6 angus9576 2026-08-17 11/550 2026-08-17 23:57 by angus9576
[基金申请] filecode=后面第一个是大写字母 +8 wangze12014 2026-08-14 10/500 2026-08-17 17:05 by xter9665
[基金申请] 今天系统多次维护,明天很可能放榜! +8 zju2000 2026-08-16 9/450 2026-08-17 12:20 by lmz0216
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
信息提示
请填处理意见