python -- pygame顏值(一)

pygame 對透明度的處理

1 jpg 不支持 透明 ,因爲jpg是有損壓縮
png z可以支持透明 , png是無損壓縮
方式一 : photo.set-corlor_key(顏色)
方式二: photo.set_alpha(透明度(0-255))
方式三 :png

獲取像素顏色: photo.get_at(i,j)

convert() 方法: 圖像的像素轉換 。 兩個圖片進行操作時,最好在載入圖像Surface對象時及時調用convert 方法。 可以防止自動轉換。自動轉換不好。

image_load() 支持多種文件格式

convert_alpha() 載入時 讓底色透明。只顯示圖像。

來看一條魚

import pygame
import sys
from pygame.locals import *


pygame.init()


size = width, height = 600, 400
white = (255,255,255)
black = (0, 0, 0)
green = (0,255,0)

points = [(200,75), (300,25), (400,75), (450,25), (450,125),(400,75),(300,125)]

screen = pygame.display.set_mode(size)
pygame.display.set_caption('fish')

clock = pygame.time.Clock()

while True:
    for each in pygame.event.get():
        if each.type == QUIT:
            sys.exit()

    screen.fill(white)
	#polygon  多邊形
    pygame.draw.polygon(screen, green, points,0)

    pygame.display.flip()

    clock.tick(10)
    

在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

這是什麼呢 ,可以鼠標拖動的同心圓

import pygame
import sys
from pygame.locals import *


pygame.init()


size = width, height = 600, 400
white = (255,255,255)
black = (0, 0, 0)
green = (0,255,0)
red  =(255,0,0)
blue = (0,0,255)

points = [(200,75), (300,25), (400,75), (450,25), (450,125),(400,75),(300,125)]



screen = pygame.display.set_mode(size)
pygame.display.set_caption('fish')

position = size[0]//2, size[1]//2
moving = False

clock = pygame.time.Clock()

while True:
    for each in pygame.event.get():
        if each.type == QUIT:
            sys.exit()

        if each.type == MOUSEBUTTONDOWN:#鼠標摁下
            if each.button ==1:  #左鍵
                moving = True
                
        if each.type == MOUSEBUTTONUP:#鼠標鬆開  注意,這裏兩次判斷button是有好處滴 ,放誤點
            if each.button ==1:
                moving = False

    if moving :#隨時捕獲鼠標是否移動
        position = pygame.mouse.get_pos()

    screen.fill(white)

    pygame.draw.circle(screen, red, position,25,1),#半徑, 像素
    pygame.draw.circle(screen, green, position,75,1),
    pygame.draw.circle(screen, blue, position,125,1),
    pygame.display.flip()

    clock.tick(10)
    

    

在這裏插入圖片描述
在這裏插入圖片描述

'''
import pygame
import sys
from pygame.locals import *


pygame.init()


size = width, height = 600, 400
white = (255,255,255)
black = (0, 0, 0)
green = (0,255,0)

points = [(200,75), (300,25), (400,75), (450,25), (450,125),(400,75),(300,125)]

screen = pygame.display.set_mode(size)
pygame.display.set_caption('fish')

clock = pygame.time.Clock()

while True:
    for each in pygame.event.get():
        if each.type == QUIT:
            sys.exit()

    screen.fill(white)

    pygame.draw.ellipse(screen, green, (100,100,440,100),1)#在矩範圍100,100  到 440 100內畫橢圓 
    pygame.draw.ellipse(screen, green, (220,50,200,200),1)#正放心內畫 圓

    pygame.display.flip()

    clock.tick(10)
    
'''

import pygame
import sys
import math
from pygame.locals import *


pygame.init()


size = width, height = 600, 400
white = (255,255,255)
black = (0, 0, 0)
green = (0,255,0)

points = [(200,75), (300,25), (400,75), (450,25), (450,125),(400,75),(300,125)]

screen = pygame.display.set_mode(size)
pygame.display.set_caption('fish')

clock = pygame.time.Clock()

while True:
    for each in pygame.event.get():
        if each.type == QUIT:
            sys.exit()

    screen.fill(white)

    pygame.draw.arc(screen, green, (100,100,440,100),0, math.pi ,1)#在矩範圍100,100  到 440 100內畫橢圓 
    pygame.draw.arc(screen, green, (220,50,200,200),math.pi, 2* math.pi,1)#正放心內畫 圓

    pygame.display.flip()

    clock.tick(10)
    

pygame.draw.lines(screen ,blue, 閉合嗎,位置(可以是座標list),寬度)

消除鋸齒
pygame.draw.aaline(screen, color,(開始座標), (結束座標, 是否開啓抗鋸齒,布爾值0/1)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章