image.py 745 B

1234567891011121314151617181920212223242526
  1. # -*- coding: utf-8 -*-
  2. import pygame
  3. from .widget import Widget
  4. class Image(Widget):
  5. def __init__(self, x, y, width=1, height=1, text="", bg_color=None, image=None, auto_resize=True):
  6. super().__init__(x=x, y=y, width=width, height=height, bg_color=bg_color)
  7. self._Image = image
  8. self._AutoResize = auto_resize
  9. self._Resize()
  10. def _Resize(self):
  11. if not self._AutoResize:
  12. return
  13. if self._Image is not None:
  14. self.set_size(self._Image.get_width(), self._Image.get_height())
  15. def set_image(self, image):
  16. self._Image = image
  17. self._Resize()
  18. def Draw(self):
  19. super().Draw()
  20. self._Parent.get_canvas().blit(self._Image, self._Rect)