Creació de jocs amb PyBadge

Programació Gràfics     Recursos CITCEA
Tutorial Exemples Projectes   Inici

Representació d'imatges

Comencem mostrant una imatge a la pantalla, en concret aquesta:

Cel amb núvols

Ha de ser una imatge en format de mapa de bits (BMP). En aquest cas, la imatge té la mateixa mida que la pantalla (160 ⨯ 128), si fos més gran se'n mostraria només un tros i si fos més petita quedaria una part de la pantalla sense imatge. Podem fer servir algun programa (per exemple, IrfanView per adapatar la mida de la imatge i convertir-la, si cal, al format BMP.

El programa per mostrar-la a la pantalla semblarà una mica complicat però hi haurà uns elements que ens permetran fer coses interessants més endavant. Primerament obrirem el fitxer, després posarem el contingut del fitxer com a font per a la imatge. A continuació crearem un mosaic, vinculat a la imatge, i un grup al que annexarem el mosaic. Finalment mostrarem el grup a la pantalla. Més endavant veurem què són els mosaics i els grups i quins avantatges ens poden aportar. El programa, doncs, és el següent:

import board
import displayio
# Creem un objecte per a la pantalla
pant = board.DISPLAY
# Obrim el fitxer
with open("/cel.bmp", "rb") as fitxer_bmp:
    # Posem el fitxer com a font per a la imatge
    imatge = displayio.OnDiskBitmap(fitxer_bmp)
    # Creem un mosaic vinculat a la imatge
    mosaic = displayio.TileGrid(imatge, pixel_shader=displayio.ColorConverter())
    # Creem un grup on allotjar el mosaic
    grup = displayio.Group()
    # Afegim el mosaic al grup
    grup.append(mosaic)
    # Mostrem el grup a la pantalla
    pant.root_group = grup
    # Bucle infinit mentre es mostra la imatge
    while True:
        pass

Recordem que el bucle final, encara que estigui buit, és important ja que si no hi és no veurem el resultat a la pantalla.

 

 

 

 

 

 

 

 

 

 

Licencia de Creative Commons
Esta obra de Oriol Boix está licenciada bajo una licencia no importada Creative Commons Reconocimiento-NoComercial-SinObraDerivada 3.0.