iOS:从非图像数据生成图像(Godus喜欢风景)

所以看到从Godus的图像,我想知道如何生成一个简单的,不交互的, 不同颜色的 2D图像用于不同的高度或高度层,如下图所示。

我只是想在没有房屋,树木和单位的地形的基础上产生基本的颜色层次。 我并没有考虑创build一个可以解决这个问题的graphics引擎,而是在屏幕上生成一个平面图像的简单方法。

问题是双重的:

1,什么样的数据可以用于这一代? 我想也许是ASCII艺术,这是很容易创build和修改,以快速改变地形,但很难提供身高的信息。

2,现有的框架,类,方法或方法可用于解决数据准备后的世代。

Godus: 像这个

ASCII艺术(挪威北部,挪威#,瑞典$,芬兰$和俄罗斯% 在这里输入图像说明

(从MapBox文档取: http ://mapbox.com/developers/utfgrid/#map_data_as_ascii_art)

如果你想创build一个简单的2D轮廓图像,我会尝试以下方法:

  • 创build一些高度数据。 我只是使用灰度图像,而不是ascii。 你可以在MS Paint中创build基本的高度图,或者类似的东西。
  • 平滑数据。 例如,应用模糊处理,或使用平滑滤镜增加分辨率。
  • 考虑将所有高度数据夹紧在某一点以下 – 如果你想要的话,这代表一个水位。
  • 量化数据。 量化越多,轮廓越less但更明显。
  • 通过调色板查找应用假色彩。 例如:低洼地区蓝色,水,黄色,沙子,绿色的草地,褐色的土地,灰色的岩石,白色的雪。

重要的部分是放大/平滑滤波器,它会为您的轮廓创build更有趣的形状,以及实际创build轮廓的量化。

你可以玩这个阶段。 例如,如果您的源数据非常干净,您可以向地形引入一些噪音,使其看起来更自然。 或者你可以增加平滑,如果你想要一切非常圆润。

如果你想使用ascii,你可以直接生成一个位图,这不会很棘手。 你用ascii作为例子虽然是由国家而不是地形,所以假色和轮廓可能会做错事。 你可以用它作为input到一个简单的地形生成器,也许只是有几个字符来表示你想要的地方,海,山,等等

这是一个非常基本的例子,这只是我所build议的技术的应用。 我没有使用任何框架或库,只是一些简单的image processingfunction,我发现欧洲的高度图:

在这里输入图像说明