本文整理汇总了Python中pygame.Surface.get_at方法的典型用法代码示例。如果您正苦于以下问题:Python Surface.get_at方法的具体用法?Python Surface.get_at怎么用?Python Surface.get_at使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pygame.Surface
的用法示例。
在下文中一共展示了Surface.get_at方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get_blank_surf
# 需要导入模块: from pygame import Surface [as 别名]
# 或者: from pygame.Surface import get_at [as 别名]
def get_blank_surf(size):
"""Gets the kind of Surface we want to work with.
Allows for sprites and fonts to be treated the same
by the opacity methods in the view object.
"""
NewSurf = Surface(size).convert()
NewSurf.set_colorkey(NewSurf.get_at((0, 0)), RLEACCEL)
return NewSurf
示例2: get_sprite
# 需要导入模块: from pygame import Surface [as 别名]
# 或者: from pygame.Surface import get_at [as 别名]
def get_sprite(sprite_name):
"""
Returns sprite picking a cached image if it exists. If not, cuts a new sprites based on info in sprite_definitions.
"""
if sprite_name in sprites:
return sprites[sprite_name]
else:
sprite_definition = sprite_definitions[sprite_name]
file_name = sprite_definition[0]
rect = sprite_definition[1]
color_key = sprite_definition[2]
sprite = Surface(rect.size).convert()
sprite.blit(get_image(file_name), (0, 0), rect)
if color_key is not None:
if color_key is -1:
color_key = sprite.get_at((0, 0))
sprite.set_colorkey(color_key, RLEACCEL)
sprites[sprite_name] = sprite
return sprite
示例3: render
# 需要导入模块: from pygame import Surface [as 别名]
# 或者: from pygame.Surface import get_at [as 别名]
def render(self, text, antialias = True,
forecolor=(255, 255, 255, 255),
backcolor=(255, 255, 255, 0)):
size = self.size(text)
img = NSImage.alloc().initWithSize_(size)
img.lockFocus()
NSString.drawAtPoint_withAttributes_(text, (0.0, 0.0), {
NSFontAttributeName: self._font,
NSUnderlineStyleAttributeName: self._isUnderline and 1.0 or 0,
NSBackgroundColorAttributeName: _getColor(backcolor),# or None,
NSForegroundColorAttributeName: _getColor(forecolor),
})
rep = NSBitmapImageRep.alloc().initWithFocusedViewRect_(((0.0, 0.0), size))
img.unlockFocus()
if rep.samplesPerPixel() == 4:
s = Surface(size, SRCALPHA|SWSURFACE, 32, [-1<<24,0xff<<16,0xff<<8,0xff])
a = Numeric.reshape(Numeric.fromstring(rep.bitmapData(), typecode=Numeric.Int32), (size[1], size[0]))
blit_array(s, Numeric.swapaxes(a, 0, 1))
#print "surface size is ", size
filter_size = self.shadow_filter_size()
border = self.border_size()
result = []
result_size = (size[0] + border*2, size[1] + border*2)
#print "result size is ", result_size
for y in range(result_size[1]):
result.append([(0, 0, 0, 0)] * result_size[0])
# Filter the character appropriately.
s.lock()
for y in range(size[1]):
for x in range(size[0]):
color = s.get_at((x, y))
s.set_at((x, y), (255, 255, 255, color[3]))
if filter_size == 3:
factors = [[1, 2, 1],
[2, 4, 2],
[1, 2, 1]]
elif filter_size == 5:
factors = [[1, 4, 6, 4, 1],
[4, 16, 24, 16, 4],
[6, 24, 36, 24, 6],
[4, 16, 24, 16, 4],
[1, 4, 6, 4, 1]]
elif filter_size == 7:
factors = [[1, 6, 15, 20, 15, 6, 1],
[6, 36, 90, 120, 90, 36, 6],
[15, 90, 225, 300, 225, 90, 15],
[20, 120, 300, 400, 300, 120, 20],
[15, 90, 225, 300, 225, 90, 15],
[6, 36, 90, 120, 90, 36, 6],
[1, 6, 15, 20, 15, 6, 1]]
else:
print "factors for filter size", filter_size, "not defined!"
factors = 0
# Filter a shadow.
for ry in range(result_size[1]):
for rx in range(result_size[0]):
inpos = (rx - int(border), ry - int(border))
count = 0
colorsum = 0
u = 0
v = 0
for a in filter_range(filter_size):
v = 0
for b in filter_range(filter_size):
x, y = (inpos[0] + a, inpos[1] + b)
factor = factors[u][v]
if x >= 0 and y >= 0 and x < size[0] and y < size[1]:
colorsum += factor * s.get_at((x, y))[3]
count += factor
v += 1
u += 1
if count > 0:
result_color = (int(colorsum) + count/2) / count
else:
result_color = 0
result[ry][rx] = (0, 0, 0, min(255, result_color*1.4))
# Blend the glyph itself to the result.
for y in range(size[1]):
for x in range(size[0]):
color = s.get_at((x, y))
result[border + y][border + x] = \
alpha_blend(color, result[border + y][border + x])
result[border + y][border + x] = \
alpha_blend(color, result[border + y][border + x])
#result[border + y][border + x] = \
# alpha_blend(color, result[border + y][border + x])
s.unlock()
glyph_rgba = Numeric.array(result, typecode=Numeric.UnsignedInt8)
return glyph_rgba, result_size