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:
Nom : bande.png
Affichages : 256
Taille : 19,2 Ko
pour ensuite l'afficher plusieurs fois côte à côte,mais il y a apparemment un probleme car j'obtient ça:
Nom : hein.png
Affichages : 328
Taille : 56,4 Ko
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()