¿Por qué recibo este error: "Argumento de estilo incorrecto no válido"

Actualmente estoy haciendo un juego en python donde una bola golpea a un grupo de cajas. He cargado una imagen de una hierba en la que quería que se colocaran las cajas, la imagen de la hierba es de 600 por 151 píxeles. Hasta ahora tengo todas las casillas y la bola apareciendo perfectamente. Sin embargo, lo que no funciona actualmente es cuando intento cargar la imagen y mostrarla para que las cajas puedan apoyarse en la imagen del césped en lugar de caerse.

import pygame
from pygame.locals import *
from pygame.color import *
import pymunk as pm
from pymunk import Vec2d
import sys
from random import randint

def to_pygame(p):
    """Small hack to convert pymunk to pygame coordinates"""
    return int(p[0]), int(-p[1]+600)


def add_box(space, size, pos, mass=1.0):
    # pos is a Vec2d object
    points = [(-size, -size), (-size, size), (size,size), (size, -size)]
    moment = pm.moment_for_poly(int(mass), points, (0,0))

    body = pm.Body(mass, moment)
    body.position = pos

    shape = pm.Poly(body, points, (0,0))
    shape.friction = 1
    space.add(body,shape)

    return shape

def draw_box(screen, box):
    ps = box.get_points()
    ps.append(ps[0])
    ps = map(to_pygame, ps)
    pygame.draw.polygon(screen, THECOLORS["blue"], ps, 3)


def main():
    pygame.init()
    screen = pygame.display.set_mode((600, 600))
    pygame.display.set_caption("Piling boxes")
    clock = pygame.time.Clock()

    boxes = []
    x = 170
    y = 120
    space = pm.Space()
    space.gravity = (0.0, -100.0)

    ### ground
    body = pm.Body()
    shape = pm.Segment(body, (150,100), (450,100), .0)
    shape.friction = 4.4
    space.add(shape)

    for i in range(5):
        # what is the mass of the box?
        mass = randint(1,3)
        # what size is the box?
        size = randint(10, 35)
        # calculate its position & hold it in a Vec2d

        #x = x + size + 10
        y = y + size
        pos = Vec2d(x,y)

        box = add_box(space, size, pos, mass)
        boxes.append(box)

    while 1:
        clock.tick(15)
        space.step(1/30.0)

        for event in pygame.event.get():
            if event.type == QUIT:
                pygame.quit()
                sys.exit(0)
            elif event.type == KEYDOWN:
                if event.key == K_ESCAPE:
                    pygame.quit()
                    sys.exit(0)

        screen.fill(THECOLORS["white"])
        test_image = pygame.image.load("grass.png")

        screen.blit(test_image, to_pygame((450,100)), to_pygame((150,100)),3)


        for i in range(len(boxes)):
            draw_box(screen, boxes[i])

        pygame.display.flip()


if __name__ == '__main__':
    main()

Respuestas a la pregunta(4)

Su respuesta a la pregunta