<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def apply_texture(self, image):
 """Place a preexisting texture as the sprite's texture."""

        self.image = image.convert_alpha()
        self.untransformed_image = self.image.copy()
##        self.rect.x = 0
##        self.rect.y = 0
##        self.rect.width = self.image.get_width()
##        self.rect.height = self.image.get_height()
        self.source.x = 0
        self.source.y = 0
        self.source.width = self.image.get_width()
        self.source.height = self.image.get_height()
        center = Vector2(self.source.width / 2.0,
                         self.source.height / 2.0)
        self.set_origin(center)