pert
pert

Reputation: 85

image not displaying nicely in pygame

i am trying to display this image in a fullscreen window in pygame as the texture for my floor

but when i try to actually display the image inside the pygame window, it comes up as thisenter image description here for some reason there are random blobs of blue coming up in the image. i used this code to try and put in my image

width,height=pygame.display.get_surface().get_size()
floorimg=pygame.image.load("assets//image.png")
win.blit(floorimg,(0,height-100))

how can i fix this?

Upvotes: 0

Views: 255

Answers (2)

user16038533
user16038533

Reputation:

I saved your image and wrote this script to draw it:

import pygame, sys

pygame.init()
window = pygame.display.set_mode((1300, 200), 0 , 32)
width,height=pygame.display.get_surface().get_size()
floorimg = pygame.image.load("floor.png")

while True:
    for event in pygame.event.get():
        if event.type == QUIT:
            pygame.quit()
            sys.exit()

    window.fill((0))
    window.blit(floorimg,(0,height-100))
    pygame.display.flip()

It seems to have similar problem to yours if the image is converted to pygame format(which I am assuming you do somewhere else in your code?)

floorimg = pygame.image.load("floor.png").convert()

But this can easily be solved by taking transparency into account while converting, which is done by convert_alpha.

floorimg = pygame.image.load("floor.png").convert_alpha() 

This results in an image similar to the first one.

Upvotes: 0

haruyasumiii
haruyasumiii

Reputation: 64

Seems like the problem is not the code but the image itself...

Attached is the link of the "floor" image with the transparent area colored using Windows Paint3D.

The code works perfectly fine, but you might need to get some clean pictures in the future.

Upvotes: 1

Related Questions