primitives.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:pyphy-engine 作者: pulkitag 项目源码 文件源码
def imprint(self, cr, xSz, ySz):
        '''
            xSz, ySz: Arena Size
        '''
        #Get the position of bottom left corner.
        y, x  = self.pos_.y_asint() - self.yOff_, self.pos_.x_asint() - self.xOff_
        #If the ball is outside the arena then adjust for it
        yBallSt = max(0, -y)
        yBallEn = max(0,min(self.ySz_, self.ySz_ - (y + self.ySz_ - ySz)))
        xBallSt = max(0, -x)
        xBallEn = max(0,min(self.xSz_, self.xSz_ - (x + self.xSz_ - xSz)))
        srcIm = np.zeros((ySz, xSz, 4), dtype=np.uint8)
        #srcIm[y:y+self.ySz_, x:x+self.xSz_,:] = self.data_.im[:] 
        yLen, xLen = yBallEn - yBallSt, xBallEn - xBallSt
        if yLen >0 and xLen > 0:
            yImSt, xImSt = max(0, y), max(0, x)
            srcIm[yImSt:yImSt+yLen, xImSt:xImSt+xLen,:] =\
                                 self.data_.im[yBallSt:yBallEn, xBallSt:xBallEn,:] 
        surface = cairo.ImageSurface.create_for_data(srcIm, 
                                cairo.FORMAT_ARGB32, xSz,ySz)
        cr.set_source_surface(surface)      
        cr.rectangle(x, y, self.xSz_, self.ySz_)
        cr.fill()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号