image.py 727 B

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