当前位置: 首页>>代码示例>>Python>>正文


Python Surface.get_at方法代码示例

本文整理汇总了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
开发者ID:StickOnGit,项目名称:space-frunks,代码行数:10,代码来源:helpers.py

示例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
开发者ID:Final-Parsec,项目名称:The-Venom-Event-Prototype,代码行数:21,代码来源:sprite_sheet.py

示例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
开发者ID:cmbruns,项目名称:Doomsday-Engine,代码行数:102,代码来源:createfont_osx.py


注:本文中的pygame.Surface.get_at方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。