gpt4 book ai didi

java - 在 Google App Engine 中使用 Java,如何从 int r、g、b 值的数组中制作 BMP 图像?

转载 作者:行者123 更新时间:2023-11-30 11:05:05 25 4
gpt4 key购买 nike

我所拥有的是:对于颜色 r、g 和 b 中的每一种,都有一个 [0,255] 范围内的二维整数数组。我想要的是:从这个数组中创建一个 BMP 并将其发送给客户端。问题是,我不能使用 java.awt.Color、BufferedImage 等,因为这些在 App Engine 中是禁止使用的。 App Engine 确实提供图像处理服务,但是,该服务适用于我已有的图像,而不是用于从头开始创建图像。

我正在考虑自学如何“手动”创建 BMP,但这看起来工作量很大。我应该这样做,还是有更简单的方法?

最佳答案

BMP format例如,与 JPG 或 PNG 相比非常简单。

它有很多头字段和位,但您不需要全部计算/填写。基本上,您需要做的是创建/写入小于 100 字节的 BMP header (如果我没记错的话,大约是 56 个字节)。您只需要设置几个字段,例如以像素为单位的图像大小、图像类型(例如,每像素的位数/字节数)等。您可以使用与您的图像类型相同的图像类型:每像素 3 个字节(r、g 和 b 分量)。

一旦你有了这个,图像数据就会跟着你写,要记住的一件事是 BMP 存储图像是颠倒的,它可能有 4 字节的倍数的行填充示例。

就是这样!请注意,我没有提到 java.awt.Imagejava.awt.Color,因为创建简单的 BMP 不需要它们。

我考虑发布超出“范围”的完整代码,因为您还没有发布任何代码。

这是一个 Java 实现示例,您可以使用它或根据您的需要修改/调整它:

http://www.javaworld.com/article/2077561/learn-java/java-tip-60--saving-bitmap-files-in-java.html

还有很多其他的 Java 实现,不要害怕搜索。

关于java - 在 Google App Engine 中使用 Java,如何从 int r、g、b 值的数组中制作 BMP 图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29770846/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com