0

したがって、numpy 配列を使用して 2D マップ ファイルをインポートし、グリッド上にグラフィカル タイルを表示したいと考えています。たとえば、5x10 タイルを使用するウィンドウがあるとします。「1」が辞書内の特定の PNG タイルを表すようにすることはできましたが、すべての 1 ではなく、辞書内に他の数字や $、%、@ ect などの記号を含むマップ ファイルをインポートするにはどうすればよいですか?

>>> numpy.ones((10,5))
array([[ 1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.]])
>>>
4

1 に答える 1

0

小さな画像のセットを並べて大きな画像を作成する場合は、Python Image Library (PIL) を使用する必要があります。

また、配列内にファイルの名前を入れて、1 の配列ではなく文字列の配列を作成したい場合、次のようにループすることができます。

for row in xrange(a.shape[0]):
    for column in xrange(a.shape[1]):
        final_image.paste(tiledict[a[row, column]], row*tilesize, column*tilesize)

上記のコードでは、 は各タイルを貼り付けるfinal_image大きなオブジェクトであり、はこれらの画像を取得する辞書です。pil.Imagetiledict

お役に立てれば!

于 2012-11-29T20:01:01.893 に答える