import cv2
import pygame
import sys
from pygame import gfxdraw
import numpy as np
(width, height) = (800, 600)
pygame.init()
screen = pygame.display.set_mode((width, height))
image = pygame.image.load("11.jpg").convert()
d3=pygame.surfarray.array3d(image)
f=250
sc=300
color=(255, 255, 255)
sarray=pygame.surfarray.array3d(pygame.Surface((width,height)))
tsize=image.get_size()
print(tsize)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
if event.type == pygame.MOUSEBUTTONDOWN:
mouse = pygame.mouse.get_pos()
'''pxarray = pygame.PixelArray(screensurf)
pixel = pygame.Color(pxarray[mouse[0], mouse[1]])#获取像素
print (pixel)
print (screensurf.get_at(mouse))#颜色
print(mouse[0], mouse[1],mouse)#点击坐标
print(img.get_at(mouse))#颜色'''
print(mouse[0], mouse[1], mouse)
time=pygame.time.get_ticks()*0.01
pos=np.array([time,0])
print(pos[0],pos[1])
angle=np.sin(time*0.3)
sin=np.sin(angle)
cos=np.cos(angle)
for i in range(width):
for j in range(int(height/2),height):
x=(width/2)-i
y=j+f
z=j-(height/2)+0.01
'''
def huizhi(x, y, z):
shiju = 300
x1 = shiju * x / z
y1 = shiju * y / z
# p.append((x1,y1))
return x1, y1
'''
rx=(x*cos-y*sin)
ry=(x*sin+y*cos)
px=(rx/z+pos[1])*sc
py=(ry/z+pos[0])*sc
'''
px=(x/z+pos[1])*sc
py=(y/z-pos[0])*sc#+pos是向后,-是向前
横着走,向右
px=(x/z+pos[0])*sc
py=(y/z+pos[1])*sc
'''
fp=int(px%tsize[0]),int(py%tsize[1])
fc=d3[fp]
sarray[i,j]=fc
pygame.surfarray.blit_array(screen,sarray)
pygame.display.update()