吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1263|回复: 3
收起左侧

[求助] 为什么 读取 JPG 文件会出现问题

[复制链接]
lisong 发表于 2019-9-13 03:03
本帖最后由 lisong 于 2019-9-13 03:15 编辑

获取JPG文件的像素点的颜色代码,为什么会与文件本身颜色代码不一样?
为什么获取PNG文件的颜色代码就是正常的?
[Asm] 纯文本查看 复制代码
        	public void test() throws Exception {

		// String filepath = "E:\\图片\\PNG.PNG";
		String filepath = "E:\\图片\\JPG.jpg";
		BufferedImage im = ImageIO.read(new File(filepath));
		int[] px = new int[im.getWidth() * im.getHeight()];
		PixelGrabber pg = new PixelGrabber(im, im.getMinX(), im.getMinY(), im.getWidth(), im.getHeight(), px, 0,
				im.getWidth());
		pg.grabPixels();
		List<Integer> li = new ArrayList<Integer>();
		for (int p : px) {
			if (li.indexOf(p) == -1) {
				li.add(p);
			}
		}
		for (int p : li) {
			// 输出颜色代码
			System.out.println(p);
		}
		System.out.format("一共有 %s 种不同的颜色", li.size());
	}


这两张图片只有两种颜色
为什么 获取 jpg 文件 像素点中的颜色代码时 颜色代码中会出现很多种 不应该只有两种吗
获取 PNG 文件时就正常 只有两种颜色代码

jpg文件

jpg文件
   

png文件

png文件


免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
锋霜 + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

blindcat 发表于 2019-9-13 07:16
JPG是有损压缩算法(虽然图片只有两色,在压缩时引入的杂色,你仔细看图片中两色过度的部分),PNG是无损压缩。

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
lisong + 1 + 1 我很赞同!

查看全部评分

董志刚 发表于 2019-9-13 07:27
asiafox 发表于 2019-9-13 07:39
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-27 01:21

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表