From: Skullheadx <94652084+Skullheadx@users.noreply.github.com> Date: Fri, 14 Apr 2023 17:01:42 +0000 (-0400) Subject: Image rendering X-Git-Url: http://git.skullheadx.com/nixos/static/tech/projects.html?a=commitdiff_plain;h=45056b4f8e6f3ca4579dd9a224b21fb576dc709b;p=PygameGUIEngine.git Image rendering --- diff --git a/image.PNG b/image.PNG new file mode 100644 index 0000000..5be4233 Binary files /dev/null and b/image.PNG differ diff --git a/image.py b/image.py new file mode 100644 index 0000000..55a4cb8 --- /dev/null +++ b/image.py @@ -0,0 +1,48 @@ +import pygame +from color import Color + + +class Image: + + def __init__(self, x, y, image_path, border_color=Color.BLACK, border_width=0): + self.x = x + self.y = y + self.image_path = image_path + self.image = pygame.image.load(self.image_path) + self.width = self.image.get_width() + self.height = self.image.get_height() + + self.border_color = border_color + self.border_width = border_width + + def get_width(self): + return self.width + + def get_height(self): + return self.height + + def set_position(self, x, y): + self.x = x + self.y = y + + def move(self, dx, dy): + self.x += dx + self.y += dy + + def set_image(self, image_path): + self.image_path = image_path + self.image = pygame.image.load(self.image_path) + self.width = self.image.get_width() + self.height = self.image.get_height() + + def set_border_color(self, border_color): + self.border_color = border_color + + def resize(self, width, height): + self.image = pygame.transform.scale(self.image, (width, height)) + self.width = width + self.height = height + + def draw(self, screen): + screen.blit(self.image, (self.x, self.y)) + pygame.draw.rect(screen, self.border_color, (self.x, self.y, self.width, self.height), self.border_width) diff --git a/main.py b/main.py index 28a6225..3ae413d 100644 --- a/main.py +++ b/main.py @@ -4,6 +4,8 @@ from rectangle import Rectangle from text import Text, Label from button import Button from container import Container +from image import Image + pygame.init() @@ -22,6 +24,10 @@ e = Button(100, 300, "Quit", "Imprint Shadow", 40, Color.BLUE, Color.BLACK, Colo lambda: print("Goodbye World")) f = Container(400, 100, Color.WHITE, Color.BLACK, 1, 15, 20, 50, True, [d, e]) f.add_child(a) + +g = Image(0, -400, "image.PNG", Color.BLACK, 1) +g.resize(600, 400) + is_running = True while is_running: for event in pygame.event.get(): @@ -46,6 +52,9 @@ while is_running: f.move(delta * -10, 0) f.draw(screen) + g.move(0, delta * 50) + g.draw(screen) + pygame.display.update() delta = clock.tick(60) / 1000 # Seconds since last frame