本文整理汇总了Python中pygame.transform.scale函数的典型用法代码示例。如果您正苦于以下问题:Python scale函数的具体用法?Python scale怎么用?Python scale使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了scale函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _get_raw_shadow
def _get_raw_shadow(self):
target_img = self.target.get_image(self.capture_state)
r = target_img.get_rect()
#the shadow will be larger in order to make free space for fadeout.
r.inflate_ip(2*self.shadow_radius, 2*self.shadow_radius)
img = Surface(r.size)
img.fill((255, 255, 255, 255))
img.blit(target_img, (self.shadow_radius, self.shadow_radius))
if self.sun_angle <= 0.:
raise Exception("Sun angle must be greater than zero.")
elif self.sun_angle != 45. and self.vertical:
w, h = img.get_size()
new_h = h / tan(self.sun_angle * pi / 180.)
screen_size = functions.get_screen().get_size()
new_h = abs(int(min(new_h, max(screen_size))))
img = scale(img, (w, new_h))
if self.angle_mode == "flip":
img = flip(img, self.mode_value[0], self.mode_value[1])
elif self.angle_mode == "rotate":
img = rotate(img, self.mode_value)
else:
raise Exception("angle_mode not available: " + str(self.angle_mode))
shadow = pilgraphics.get_shadow(img,
radius=self.shadow_radius,
black=self.black,
alpha_factor=self.alpha_factor,
decay_mode=self.decay_mode,
color=self.color)
return shadow
示例2: preview_img
def preview_img(screen, img):
# generate an image preview
square_width = 200
square_height = 175
(img_width, img_height) = img.get_size()
small_img = img
# display a preview image in dimensions that won't distort it:
if img_width > img_height:
if (not img_width < square_width and not img_height < square_height) or (img_width > square_width) or (img_height > square_height) or (img_width > square_width and img_height > square_height):
r = float(img_width) / float(img_height)
new_width = square_width
new_height = int(new_width / r)
scale_val = new_width, new_height
small_img = scale(img, scale_val)
if img_width < img_height:
if (not img_width < square_width and not img_height < square_height) or (img_width > square_width) or (img_height > square_height) or (img_width > square_width and img_height > square_height):
r = float(img_height) / float(img_width)
new_height = square_height
new_width = int(new_height / r)
scale_val = new_width, new_height
small_img = scale(img, scale_val)
if img_width == img_height:
if (not img_width < square_width and not img_height < square_height) or (img_width > square_width) or (img_height > square_height) or (img_width > square_width and img_height > square_height):
r = float(img_width) / float(img_height)
new_height = square_height
new_width = square_width
scale_val = new_width, new_height
small_img = scale(img, scale_val)
(img_width, img_height) = small_img.get_size()
return (small_img, img_width, img_height)
示例3: main
def main():
import pygame
from pygame import surfarray,transform
screen_size = (DIM[0]*4,DIM[1]*4)
screen = pygame.display.set_mode(screen_size)
pygame.display.init()
pygame.init()
board = create_board(*DIM)
board = initialize_board(
board,
[[5,5],[5,6]],
)
rate = .25
next = time.time() -1
small = pygame.Surface( DIM )
blitter = pygame.Surface( screen_size )
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
raise SystemExit(0)
if time.time() > next:
next = time.time() + rate
board = cycle(board)
surfarray.blit_array(small,board)
transform.scale( small, screen_size, blitter )
screen.blit( blitter, (0,0) )
#surfarray.blit_array(screen,board)
pygame.display.flip()
示例4: get_surface
def get_surface(self):
W, H = functions.get_screen_size()
if isinstance(self.img_path, str): # load image
surface = load_image(self.img_path)
else: # take image
surface = self.img_path
if 0 < self.alpha < 255:
surface.set_alpha(self.alpha, RLEACCEL)
if self.mode == "scale to screen":
surface = scale(surface, (W, H))
self.size = (W, H)
elif self.mode == "cut to screen":
new_surface = Surface((W, H))
new_surface.blit(surface, (0, 0))
self.size = (W, H)
elif self._resized:
surface = scale(surface, self._resized)
elif self.mode:
functions.debug_msg("Unrecognized mode : ", self.mode)
## elif self._resized:
## surface = scale(surface, self._resized)
if self.colorkey:
surface.set_colorkey(self.colorkey, RLEACCEL)
surface.set_clip(self.clip)
if self.alpha < 255:
return surface.convert_alpha()
else:
return surface.convert()
示例5: drawMapView
def drawMapView(self, surface, increment = 1):
"""Drawing the Map with Player and Beetles"""
beetle_color_vect=["beetle_right.png","beetle_left.png","beetle_up.png","beetle_down.png"]
life_imm=["./start_end/life_empty.png","./start_end/life_last.png","./start_end/life_mid.png","./start_end/life_full.png"]
surface.blit(self.mp.getMapView(self.viewRect), ORIGIN)
for i in range(number_beetles):
imagePath_2=os.path.join("sprites", beetle_color_vect[beetle[i].color])
img_2=pg.image.load(imagePath_2)
image_2=scale(img_2, beetle[i].size)
image_2.convert()
surface.blit(image_2,beetle[i].position)
imagePath = os.path.join("sprites", player.color)
img = pg.image.load(imagePath)
image=scale(img, player.size)
image.convert()
#surface.blit(image,player.position)
#if(self.index_life>0):
surface.blit(image,player.position)
#else:
#print 'todo: add image of damage'
image_life = pg.image.load(life_imm[player.life])
image_life.convert()
surface.blit(image_life, ORIGIN)
示例6: activate
def activate(self):
GameState.activate(self)
w, h = sd.get_size()
self.cr_open = scale(res.loadImage("open.png", 0, 1), (20,30))
self.cr_grasp = scale(res.loadImage("grasp.png", 0, 1), (20, 25))
self.cr_arrow = res.loadImage("next_arrow.png", 0, 1)
self.cr = KeyCursor(self.cr_open)
self.cr_state = HAND_OPEN
self.cr_bounds = Rect(0,0,w,h).inflate(-w*.2, -h*.2)
self.cr_bounds.height -= 30
self.cr_bounds.width -= 20
self.cr_pos = list(self.cr_bounds.center)
self.cr_speed = 0
self.cr.enable()
self.map_pos = self.cr_pos[:]
path = res.mapPath("overworld3.tmx")
self.tilemap = BufferedTilemapRenderer(path,
(w,h), force_colorkey=(128,0,63))
self.camera = OverworldCamera([], self.tilemap, ((0,0), (w,h)))
self.camera.center(self.cr_pos)
self.tilemap.redraw()
self.cleared = 0
示例7: fit_image
def fit_image(img, screen):
"resize the image to fit the imgv window"
rect = screen.get_rect()
gl.SCALE_UP = 0
if gl.REAL_WIDTH > gl.REAL_HEIGHT:
r = float(gl.REAL_WIDTH) / float(gl.REAL_HEIGHT)
new_width = screen.get_width()
new_height = int(new_width / r)
scale_val = new_width, new_height
img = scale(img, scale_val)
gl.SHRUNK = 1
elif gl.REAL_WIDTH < gl.REAL_HEIGHT:
r = float(gl.REAL_HEIGHT) / float(gl.REAL_WIDTH)
new_height = screen.get_height()
new_width = int(new_height / r)
scale_val = new_width, new_height
img = scale(img, scale_val)
gl.SHRUNK = 1
elif gl.REAL_WIDTH == gl.REAL_HEIGHT:
r = float(gl.REAL_WIDTH) / float(gl.REAL_HEIGHT)
new_height = screen.get_height()
new_width = screen.get_width()
if new_height > new_width:
scale_val = int(new_width / r), int(new_width / r)
elif new_width > new_height:
scale_val = int(new_height / r), int(new_height / r)
else:
scale_val = new_width, new_height
img = scale(img, scale_val)
else:
new_height = new_width = screen.get_width()
scale_val = new_width, new_height
img = scale(img, scale_val)
return img
示例8: get_player_sprites
def get_player_sprites(self, sprite_sheet):
"""Creates a dict containing all player sprites with grouped by facing. Not generally applicable."""
# Order of sprites' facings in sprite sheet
sprite_sheet_direction = [Direction.DOWN, Direction.LEFT, Direction.RIGHT, Direction.UP]
sprites = {}
for i in range(0, 12, 3):
direction_sprites = []
scaled_sprite_size = (self.sprite_width * self.scale_factor, self.sprite_height * self.scale_factor)
# Get all sprites with certain alignment
sprite_move_1 = Rect(self.get_sprite_location(i), (self.sprite_width, self.sprite_height))
sprite_stationary = Rect(self.get_sprite_location(i + 1), (self.sprite_width, self.sprite_height))
sprite_move_2 = Rect(self.get_sprite_location(i + 2), (self.sprite_width, self.sprite_height))
current_direction = sprite_sheet_direction[i // 3]
# Current sprite sheet has duplicate sprites for left and right facing, thus reordering to allow animation
if current_direction == Direction.RIGHT or current_direction == Direction.LEFT:
direction_sprites = [scale(sprite_sheet.subsurface(rect), scaled_sprite_size) for rect in
[sprite_move_1, sprite_stationary, sprite_move_2]]
else:
direction_sprites = [scale(sprite_sheet.subsurface(rect), scaled_sprite_size) for rect in
[sprite_move_1, sprite_move_2, sprite_stationary]]
# Add sprites to sprite dict with alignment as key
sprites[sprite_sheet_direction[i // 3]] = direction_sprites
return sprites
示例9: __init__
def __init__(self,imagefile,soundfile,trgtimg,trgtsnd):
self.image = scale(image.load(imagefile), SIZE).convert()
self.fill = scale(image.load(BASE),SIZE).convert()
self.sound = mixer.Sound(soundfile)
self.trgtimg = trgtimg
self.trgtsnd = trgtsnd
self.result = [not(self.trgtimg),not(self.trgtsnd)]
示例10: update_display
def update_display():
if DOUBLE_SIZE:
#group.clear(screen_buffer, background)
#dirty = group.draw(screen_buffer)
scale(screen_buffer, (644, 406), screen)
#pygame.transform.scale2x(screen_buffer, screen)
pygame.display.update()
示例11: __init__
def __init__(self, width, client, **kwds):
font = self.predict_font(kwds)
h = font.get_linesize()
d = 2 * self.predict(kwds, "margin")
kwds["align"] = kwds.get("align", "l")
ScrollPanel.__init__(self, inner_width=width, **kwds)
self.icons = {
True: scale(folder_image, (self.row_height, self.row_height)),
False: scale(file_image, (self.row_height, self.row_height)),
}
self.client = client
self.names = []
示例12: update_display
def update_display():
if DOUBLE_SIZE:
#group.clear(screen_buffer, background)
#dirty = group.draw(screen_buffer)
scale(screen_buffer, (644, 406), screen)
#pygame.transform.scale2x(screen_buffer, screen)
currSurf = pygame.display.get_surface()
currSurf = pygame.Surface((644, 406), pygame.SRCALPHA, 32)
#mask.fill
#mask.set_alpha(255)
#currSurf.blit(mask,(0,0),special_flags=(pygame.BLEND_RGBA_SUB))
#self.world.view.set_background(pygame.Surface((644, 406), pygame.SRCALPHA, 32))
pygame.display.update()
示例13: resize
def resize(self):
if self.marker <= 1:
charRow = self.charactor.sector.idNum / NUM_COLS
baseW, baseH = self.image.get_rect().width*3/4, self.image.get_rect().height*3/4
self.image = trans.scale(self.image,(baseW + (baseW/3) * charRow, baseH + (baseH/3) * charRow))
elif self.marker == 2: #red closer, first player closer
charCol = self.charactor.sector.idNum % NUM_COLS
baseW, baseH = self.image.get_rect().width*3/4, self.image.get_rect().height*3/4
self.image = trans.scale(self.image,(baseW + (baseW/3) * (NUM_COLS - charCol), baseH + (baseH/3) * (NUM_COLS - charCol)))
elif self.marker == 3: #blue closer,
charCol = self.charactor.sector.idNum % NUM_COLS
baseW, baseH = self.image.get_rect().width*3/4, self.image.get_rect().height*3/4
self.image = trans.scale(self.image,(baseW + (baseW/3) * charCol, baseH + (baseH/3) * charCol))
示例14: command_zoom_out
def command_zoom_out(new_img, new_img_width, new_img_height, img, screen, file, num_imgs, rect, zoom_type):
wait_cursor()
start = start_timer()
if new_img.get_width() >= gl.MIN_WIDTH and new_img.get_height() >= gl.MIN_HEIGHT:
gl.ZOOM_EXP -= 1
if zoom_type == "normal":
gl.ZOOM_DOUBLE = 0
new_img = scale(img, (new_img.get_width() / 1.1, new_img.get_height() / 1.1))
else:
gl.ZOOM_DOUBLE = 1
new_img = scale(img, (new_img.get_width() / 2, new_img.get_height() / 2))
rect = get_center(screen, new_img)
my_update_screen(new_img, screen, rect, file, num_imgs, check_timer(start))
normal_cursor()
return (new_img, img, rect)
示例15: test_scale
def test_scale(surface):
"""Simple scale tests"""
obj = _make_object()
surface.blit(obj, (20, 20))
obj1 = transform.scale(obj, (100, 100))
surface.blit(obj1, (80, 80))
obj2 = transform.scale(obj1, (60, 60))
surface.blit(obj2, (160, 160))
obj3 = transform.scale(obj, (60, 60))
surface.blit(obj3, (240, 160))
obj1 = transform.scale2x(obj)
surface.blit(obj1, (240, 240))
obj1 = transform.scale2x(obj2)
surface.blit(obj1, (320, 320))