#! /usr/bin/env python2.7# -*- coding:utf-8 -*-#File:PG5.py#Date:2013-7-7#Author:wangyuimport pygamefrom pygame.locals import *from sys import exitpygame.init()screen =pygame.display.set_mode((640,480),0,32)def create_scales(height): red_scale_surface=pygame.surface.Surface((640,height)) green_scale_surface=pygame.surface.Surface((640,height)) blue_scale_surface=pygame.surface.Surface((640,height)) for x in range(640): c= int((x/640.)*255.) red =(c,0,0) green =(0,c,0) blue=(0,0,c) line_rect=Rect(x,0,1,height) pygame.draw.rect(red_scale_surface,red,line_rect) pygame.draw.rect(green_scale_surface,green,line_rect) pygame.draw.rect(blue_scale_surface,blue,line_rect) return red_scale_surface,green_scale_surface,blue_scale_surfacered_scale,green_scale,bule_scale=create_scales(80)color =[127,127,127]while True: for event in pygame.event.get(): if event.type == QUIT: exit() screen.fill((0,0,0)) screen.blit(red_scale,(0,00)) screen.blit(green_scale,(0,00)) screen.blit(bule_scale,(0,00)) x,y=pygame.mouse.get_pos() if pygame.mouse.get_pressed()[0]: for conponent in range(3): if y>component*80 and y<(component+1)*80: color[component]=int((x/639.)*255.) pygame.display.set_caption("Pygame color test -"+str(tuple(color))) for component in range(3): pos =(int ((color[component]/255.)*639),component*80+40) pygame.draw.circle(screen,(255,255,255),pos,20)# color =blend_color(colorw1,color2,color3) pygame.draw.rect(screen,tuple(color),(0,240,640,240)) pygame.display.update()
This is the formation. The smallest dot can be moved. When moving, we can see that the color of the image is changing, from yellow to blue.
Thank you for clicking to open the link.