首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将值从0到1转换为灰度图像(Java)

将值从0到1转换为灰度图像(Java)
EN

Stack Overflow用户
提问于 2012-05-05 16:58:50
回答 1查看 764关注 0票数 0

我有一个二维矩阵,它存储0到1之间的值。我想将这些值绘制为灰度级。

如果该值为1,则应绘制为白色。如果该值为0,则应将其绘制为黑色。

我如何在java中做到这一点?

我试过ColorBufferedImage这两个类,但我搞不懂。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-05 17:09:55

要创建图像并设置像素:

代码语言:javascript
复制
final BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);

for (int y = 0; y < height; y++)
{
  for (int x = 0; x < width; x++)
  {
    image.setRGB(x, y, color);
  }
}

在本例中,color是一个ARGB格式的整数(最上面的字节是alpha,然后是红字节、绿字节、蓝字节)。因为你做的是灰度,所以你希望R,G和B是相同的值。您不想要alpha,所以您应该将顶部字节设置为0xFF。

请参阅:BufferedImage.setRGB()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10460330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档