2012-11-29 1 views
0

그래서 난 numpy 배열을 사용하여 2D 맵 파일을 가져 와서 격자에 그래픽 타일을 표시하려고합니다. 그래서 5x10 타일을 사용하는 창이 있다고 가정 해보십시오. 필자는 '1'이 사전에 특정 PNG 타일을 나타내도록 할 수 있었지만, 다른 모든 숫자가 포함 된지도 파일을 가져 오는 것이고, 예를 들어 $ 또는 % 또는 @Python Numpy 사전 맵 가져 오기?

당신이 원하는 것은 작은 이미지 세트를 타일링 큰 이미지를 만들 경우
>>> 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.]]) 
>>> 
+0

"지도 파일"의 형식은 무엇입니까? – BrenBarn

+0

그것은 단지 키 배열 일 것입니다. 위의 1처럼 : cool.png, 2 : other.png. 질문은 어떻게하면 1 대가 아니라 내 자신의 배열을 만들 수 있을까요? –

답변

0

후 파이썬 이미지 라이브러리 (PIL)는 무엇을 사용해야합니다. 또한

, 따라서 대신 사람의 배열의 문자열 배열을 작성, 당신은 배열 내부의 파일의 이름을 넣어 원하는 가정하면, 그럴 수있어이 같은 루프 이상 : 위의에서

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.Image 개체이며, tiledict은이 이미지를 가져온 곳의 사전입니다.

희망이 도움이됩니다.

+0

나는 이것을 조사 할 것이다, 고마워! –