首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >灰度图像

灰度图像
EN

Stack Overflow用户
提问于 2010-02-07 18:09:00
回答 1查看 144关注 0票数 3

我仍然有一个问题,用Java保存一个灰色图像。我怎么能这样做呢?格式不是那么重要,但不应该有图像压缩。

有人知道吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-02-07 18:25:32

这可能不是最优雅的方法,但它会起作用:

代码语言:javascript
复制
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;


public class ImageTest {


    public static void main(String[] args) throws IOException {

        int width = 10 // width of your image
        int height = 10 // height of your image

        BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);


        for (int x = 0; x < width; ++x)
        {
            for (int y = 0; y < height; ++y)
            {
                int grayscale = ... // get your greyscale value 0..255 from your array here.
                int colorValue = grayscale | grayscale << 8 | grayscale << 16;
                img.setRGB(x, y, colorValue);
            }

        }

        ImageIO.write(img, "png", new File("output.png"));
    }

}

colorValue由r、g和b组成(b在最低的字节上,g在前一个字节,r在前一个字节)。因为你的图像是灰度的,所以你可以简单地对你的图像使用相同的r,g和b值,所以这就是为什么你可以简单地这样做:

代码语言:javascript
复制
int colorValue = grayscale | grayscale << 8 | grayscale << 16;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2216637

复制
相关文章

相似问题

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