- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我以这种方式创建一个 BufferedImage
:
BufferedImage image = new BufferedImage(4, 3, BufferedImage.TYPE_BYTE_GRAY);
image.getRaster().setPixels(0, 0, image.getWidth(), image.getHeight(), new int[]
{
0, 255, 192, 183,
83, 143, 52, 128,
102, 239, 34, 1
}
);
然后当使用getRGB
方法获取像素值时:
for (int y = 0; y < image.getHeight(); y++) {
for (int x = 0; x < image.getWidth(); x++) {
System.out.print((image.getRGB(x, y)) & 0xFF);
System.out.print(" ");
}
System.out.println();
}
我看到的结果与输入不同:
0 255 225 220
155 197 125 188
170 248 102 13
我可以使用image.getRaster().getDataBuffer()
获取原始值,但为什么getRGB
结果不同?
最佳答案
您直接将像素写入 Raster,但需要通过 Image API 将它们取回。
这些是非常不同的 API,Raster 使用原始像素数据,而 Image API 则考虑 ColorModel。当您调用 getRGB() 时,该调用是通过 ColorModel 委托(delegate)的,因此有些 nonlinear可以执行 sRGB 颜色空间和 Raster 颜色空间之间的转换。
如果您尝试向后转换它们:
for (int y = 0; y < image.getHeight(); y++) {
for (int x = 0; x < image.getWidth(); x++) {
int rgb = image.getRGB(x, y);
image.setRGB(x, y, rgb);
}
}
在栅格
数据中,您将看到非常接近原始结果的结果:
0 255 192 183
84 142 52 128
103 239 34 1
所以一切都是正确的,只是假设 8 位灰度线性转换为 sRGB 是错误的。
关于java - getRGB 和 getRaster 带来不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33062905/
当我为我的项目运行“mvn dependency:tree”时,它显示如下: [INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ x
我调用 ajax 的脚本 function search_func(value) { $.ajax({ type: "GET", url: "sample.php
我正在使用 SIM 安装 Sitecore 8.1,但在打开启动板时,由于 ajax 请求返回 HTTP 500 错误,出现了几个 Javascript 错误。查看开发人员工具会显示以下消息: htt
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我有一张 table : +-----------+-------------+------+-----+---------+-------+| Field | Type | N
所以,我对这个阵列很生气,第 2 天让我感到疼痛 *.... 我正在开发面向对象的 PHP 脚本。 我得到一个数组: Array ( [0] => Project Object ( [project_
我正在尝试将我的一个 Rails 项目升级到 Ruby 1.9.2。一切进展顺利,但一个 RSpec 测试失败了。在这个测试中,我需要一个Ruby lib: # file spec/models/my
我可以使用 Maven 的插件 spring-boot:run 运行 Spring Boot,但是当我尝试执行打包的 jar 时,它给出: Error creating bean with name
我是一名优秀的程序员,十分优秀!