gpt4 book ai didi

java - 如何从存储在 txt 文件中的 rgb 数据创建 bmp 文件?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:59:04 27 4
gpt4 key购买 nike

我必须从两个 txt 文件创建一个 bmp 图像。第一个是 mxn 数组:

* * * * * * * *
米n
c11 c21 .. cm1
...
c1n c2n .. cmn
* * * * * * * *

* * * * * * * *
6 5
.7 .7 .6 1.0 1.2 .1
.9 .3 .7 1.1 .7 .2
1 1.1 1.2 1.3 1.7 .6
.5 .6 .5 .4 .9 .1101
2 .1 .1 .1 2.1 1.1
* * * * * * * *

第二个txt文件是色标,像这样

* * * * * * * *
min1 max1 r1 g1 b1
min2 max2 r2 g2 b2
...
minx maxx rx gx bx
* * * * * * * *

* * * * * * * *
0 .5 255 128 64
.5 .75 128 255 32
.75 1.25 64 64 225
01.50 5 128 128 0
* * * * * * * *

所以我必须读取这两个文件。我尝试使用 StringTokenizer 类从第一个 txt 文件创建一个数组,但我完全迷路了。从这两个文件我要创建一个 bmp 图像。有人能以某种方式帮助我吗?

最佳答案

如果颜色范围是连续的(您的示例缺少 1.25-1.5)并且保证覆盖矩阵文件中所有可能的值,我会首先构建一个 TreeMap<Double, java.awt.Color> ,使用颜色文件中的最大值作为映射键。然后您可以使用 TreeMap#ceilingEntry(K)方法来获取任何矩阵值的颜色。例如。如果您的测试数据正确填充,ceilingEntry(0.2).getValue() 将返回 Color(255,128,64)。

您可以更轻松地直接使用 java.awt.BufferedImage,而不是将矩阵文件读入数组中绘制并稍后使用 javax.imageio.ImageIO将缓冲图像写入 BMP 文件。

关于java - 如何从存储在 txt 文件中的 rgb 数据创建 bmp 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1499318/

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