Bonjour,
je voudrai faire un programme pour faire des stereogrammes
pour le relief,je sais déja comment faire
mais mon seul probleme est que je veut charger une image dans une matrice,celle ci:
pour ensuite l'afficher plusieurs fois côte à côte,mais il y a apparemment un probleme car j'obtient ça:
avec ce code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 from numpy import* import pygame from pygame.locals import * import Image def pycode(c_1,c_2,c_3): return c_3+c_2*256+c_1*256**2 im = Image.open("bande.png") img = list(im.getdata()) bande=zeros((100,480)) for i in range(100): for j in range(480): bande[i][j]=pycode(img[i*j+j][0],img[i*j+j][1],img[i*j+j][2]) ##bande=random.rand(100, 480) * 255 * 255 * 255 M=zeros((600,480)) for i in range(480): pos,dec=0,0 ## if i>240: ## dec=59.9 for j in range(600): ## if i<240: ## dec+=j/3000.0 ## else: ## dec-=j/3000.0 pos=(pos+1)%100 try: M[j][i]=bande[int(pos+dec)%100][i] except: pass M.astype(uint32) hM=len(M) lM=len(M[0]) print hM,lM pygame.init() fenetre = pygame.display.set_mode((hM,lM)) pygame.surfarray.blit_array(fenetre,M) continuer = True while continuer: pygame.time.Clock().tick(3) pygame.display.flip() for event in pygame.event.get(): if event.type == QUIT: continuer = False pygame.quit()
Partager