0

我必须从浮点数组列表中创建一个 BufferedImage。使用一个浮点数组,我创建了图像的一个像素宽度。总宽度为 500 像素。浮点数组列表的大小可以达到 10000 个浮点数组。

我构建的图像是某种历史,因此它显示在时间长度图中。例如,如果历史记录为 6 分钟,则图形在 x 轴上从 3 变为 -3,并且图像应以 3 和 -3 之间的中间点为中心。标题说“插值”,但我不确定解决方案是否涉及插值。

  1. 如果列表大小超过 500,如何从列表中选择浮点数组?
  2. 如果列表的大小小于 500,如何拆分列表?
4

1 回答 1

0

1 & 2) 你必须计算 500 像素/大小。这就是您为每个值使用的像素数。如果您有超过 500 个浮点值,则每个值将小于一个像素宽度。如果您的值少于 500 个,则每个值将占用超过一个像素宽度。

假设您有 700 个浮点值。每个值将占用 5/7 个像素。您不能绘制部分像素,但可以求和并舍入以确定要绘制的值。

  • 值 1 - 5/7 - 舍入为 1 - 在第一个像素上绘图
  • 值 2 - 10/7 - 舍入为 1 - 在第一个像素上绘图(叠加值 1)
  • 值 3 - 15/7 - 舍入为 2 - 在第二个像素上绘图
  • 值 4 - 20/7 - 舍入到 3 - 在第三个像素上绘图

依此类推,直到您绘制了所有值。

假设您有 300 个浮点值。每个值将占用一个像素的 5/3,或几乎 2 个像素。同样,您求和并四舍五入以确定要绘制的值。

  • 值 1 - 5/3 - 舍入为 2 - 在第一个和第二个像素上绘图
  • 值 2 - 10/3 - 舍入到 3 - 在第三个像素上绘图
  • 值 3 - 15/3 - 舍入到 5 - 在第四个和第五个像素上绘制
  • 值 4 - 20/3 - 舍入到 7 - 在第六个和第七个像素上绘制

依此类推,直到您绘制了所有值。

于 2012-04-11T15:53:42.010 回答