Example #1
0
 def handle_collisions_paddles(self, display):
     c1 = display.safe_get(self.x + self.dx * self.dt, self.y)
     if c1 != Color.black() and c1 != Color.white():
         self.dx *= -1
     c2 = display.safe_get(self.x, self.y + self.dy * self.dt)
     if c2 != Color.black() and c2 != Color.white():
         self.dy *= -1
Example #2
0
    def __init__(self, bor):
        # self.currnet_idx = 16
        self.currnet_idx = 19
        texte = text.Text(bor)
        texte.set_text(10, 1, "XD XD XD XD")

        self.effects = [
            texte,  # 0
            pixels.Pixels(bor),  # 1
            rainbow.Rainbow(bor),  # 2
            sinrainbow2.SinRainbow2(bor),  # 3
            sinrainbow.SinRainbow(bor),  # 4
            #            tetris.Tetris(10, 10),
            metaballs.Metaballs(bor),  # 5
            disco.Disco(),  # 6
            pulsingcolor.PulsingColor(Color.blue()),  # 7
            xdcolor.XDColor(Color.red()),  # 8
            xdcolor.XDColor(Color.green()),  # 9
            xdcolor.XDColor(Color.blue()),  # 10
            solidcolor.SolidColor(Color.black()),  # 11
            droplet.Droplet(bor),  # 12
            paint.Paint(bor),  # 13
            tennis.Tennis(bor),  # 14
            rays.Rays(bor),  # 15
            plasma.Plasma(bor),  # 16
            #GifPlayer('/home/pi/xD-Table-Py/effects/gifplayer/gifs/fireplace_smol.gif'),  # 17
            GifPlayer(
                '/home/pi/xD-Table-Py/effects/gifplayer/gifs/fireplace_doniel.gif'
            ),  # 17
            rainbow_slow.RainbowSlow(bor),  # 18
            kibana.Heatmap(),  # 19
        ]
Example #3
0
 def __init__(self, bor):
     self.set_defaults()
     self.bor = bor
     self.palette = [Color.white(), Color.red(), Color.green(), Color.blue(),
                    Color(255,255,0), Color(0,255,255), Color(255,0,255),
                    Color(255,121,0), Color.black()]
     self.current = Color.blue()
Example #4
0
    def render(self, display):
        for x in xrange(display.width):
            for y in xrange(display.height):
                display.set(
                    x, y,
                    Color(*colorsys.hsv_to_rgb(self.get_val(x, y), 1, 255)))

        display.set(int(self.x), int(self.y), Color(255, 255, 255))
Example #5
0
 def __init__(self, bor):
     self.set_defaults()
     self.bor = bor
     self.width = bor.width
     self.height = bor.height
     r = random()
     self.balls = [
         Ball(self, Color.hsv(r)),
         Ball(self, Color.hsv((r + 0.5) % 1.0))
     ]
Example #6
0
 def __init__(self, bor):
     self.set_defaults()
     self.bor = bor
     self.width = bor.width
     self.height = bor.height
     self.ball = Ball(self)
     self.paddle1 = Paddle(self, 0, Color.red())
     self.paddle2 = Paddle(self, bor.height - 1, Color.blue())
     self.win_animation = False
     self.factor = 1.0
     self.dfactor = 0.9
Example #7
0
 def render(self, display):
     display.fill(Color())
     shift = 0
     for x in range(display.width):
         y = self.get_y(x)
         hue = (self.hue + shift) % 1
         if self.bor.get(x, y):
             hue += 0.5
         c = Color(*colorsys.hsv_to_rgb(hue, self.sat, self.val))
         for dy in range(self.sinewidth):
             display.set(x, y + dy, c)
             display.set(x, y - dy, c)
         shift += self.dshift
Example #8
0
 def __init__(self, bor):
     k = constants.font.keys()
     k.sort()
     self.set_text(0, 0, ''.join(k))
     self.color = Color(0, 0, 255)
     self.speed = 15
     self.repeat = True
     self.bor = bor
Example #9
0
 def render(self, display):
     fade_shiet = 1.0 - (self.fade_rate * self.dt) % 1
     # print(fade_shiet)
     display.fade(fade_shiet)
     for y in range(display.height):
         for x in range(display.width):
             if self.bor.get(x, y) or random() < (self.random_rate * self.dt):
                 display.set(x, y, Color(
                     *colorsys.hsv_to_rgb(random(), self.sat, self.val)))
Example #10
0
    def render(self, display):
        if self._matrix is None:
            display.fill(Color(self.ERROR_COOLOR))
            return

        for y, row in enumerate(self._matrix):
            for x, color_idx in enumerate(row):
                display.safe_set(
                    x, y, self.COLOR_PALETTE.get(color_idx, self.ERROR_COOLOR))
Example #11
0
 def __init__(self, bor):
     self.set_defaults()
     self.bor = bor
     self.dt = 0
     self.cx = 4.5
     self.cy = 4.5
     self.cr = .0
     self.dr = 3
     self.cc = Color.blue()
Example #12
0
 def render(self, display):
     shift = 0
     for y in range(display.height):
         for x in range(display.width):
             hue = self.hue % 1
             if self.bor.get(x, y):
                 hue += 0.5
             display.set(
                 x, y, Color(*colorsys.hsv_to_rgb(hue, self.sat, self.val)))
Example #13
0
    def render(self, display):
        display.fill(Color())
        shift = 0
        for x in range(display.width):
            for y in range(display.height):
                hue = (self.hue + shift) % 1
                if self.bor.get(x, y):
                    hue += 0.5
                dist = dist_to_sine(x, y, self.const, self.amp, self.freq,
                                    self.phase)
                dist = 1.0 / (1.0 + dist)

                #cp = copy.copy(c)
                #cp.fade(dist)
                c = Color(*colorsys.hsv_to_rgb(hue, self.sat, self.val * dist))

                display.set(x, y, c)

            shift += self.dshift
Example #14
0
    def render(self, display):
        #display.fill(Color.blue())
        for y in range(display.height):
            for x in range(display.width):
                dist = self.dist_to_circle(x, y)

                dist = 1.0 / (dist + 1.0)
                if dist > 1.0:
                    print(dist)
            #    print(dist)
                display.set(x, y, Color.blue().fade(dist))
Example #15
0
    def render(self, display):
        display.fill(Color(0, 0, 0))
        for x in xrange(display.width):
            for y in xrange(display.height):
                r, g, b = 0, 0, 0
                for ball in self.balls:
                    val = ball.get_val(x, y)
                    r += ball.c.r * val
                    g += ball.c.g * val
                    b += ball.c.b * val

                if r > 255:
                    r = 255
                if g > 255:
                    g = 255
                if b > 255:
                    b = 255
                if self.bor.get(x, y):
                    display.set(x, y, Color(255, 255, 255))
                else:
                    display.set(x, y, Color(r, g, b))
Example #16
0
    def render(self, display):
        for y in range(display.height):
            for x in range(display.width):
                hue = (pnoise3(
                    (x / self.x_zoom) + self.shift_x,
                    (y / self.y_zoom) + self.shift_y, self.z / self.z_zoom) +
                       1.0) / 2.0
                hue += self.hue_off

                if self.bor.get(x, y):
                    hue += 0.5
                c = Color.hsv(hue + 0.3)
                display.set(x, y, c)
Example #17
0
    def render(self, display):
        if self.win_animation:
            if self.winner == 1:
                c = self.paddle1.c.clone()
                display.fill(c.fade(self.factor))

            if self.winner == 2:
                c = self.paddle2.c.clone()
                display.fill(c.fade(self.factor))
            return

        display.fill(Color(0, 0, 0))
        self.ball.render(display)
        self.paddle1.render(display)
        self.paddle2.render(display)
        self.ball.handle_collisions_paddles(display)
Example #18
0
 def __init__(self):
     self.phase = 0
     self.dphase = 5.0
     self.colors = [
         Color(255, 182, 193),
         Color(127, 255, 212),
         Color(240, 230, 140),
         Color(165, 214, 167),
         Color(211, 211, 211),
         Color(129, 199, 132)
     ]
Example #19
0
 def __init__(self, ctx):
     self.ctx = ctx
     self.c = Color.white()
     self.dt = 0
     self.speed = 1
     self.reset()
Example #20
0
 def render(self, display):
     display.fill(Color(0, 0, 0))
     for x in xrange(display.width):
         n = x - self.x - int(self.shift) - 1
         if n < len(self.buf) and n >= 0:
             self.render_col(x, self.y, n, display)
Example #21
0
import sys
from PIL import Image
from display import Color, DisplayDriver

framebuffer = DisplayDriver()

im = Image.open(sys.argv[1])
rgb = im.convert('RGBA')
for y in range(16):
    for x in range(16):
        r, g, b, a = rgb.getpixel((x, y))
        c = Color.from_rgb(r, g, b)
        c.multiply(factor=0.25 * a / 255.0)
        framebuffer.set_pixel(y, (15 - x), c)

framebuffer.present()

try:
    while True:
        pass
except KeyboardInterrupt:
    pass
Example #22
0
class Heatmap(object):
    COLOR_PALETTE = {
        0: Color(247, 251, 255),
        1: Color(227, 238, 249),
        2: Color(208, 225, 242),
        3: Color(182, 212, 233),
        4: Color(148, 196, 223),
        5: Color(107, 174, 214),
        6: Color(74, 152, 201),
        7: Color(46, 126, 188),
        8: Color(23, 100, 171),
        9: Color(8, 74, 145),
        None: Color(0, 0, 0)
    }

    FETCH_INTERVAL = 5 * 60  # seconds
    ERROR_COOLOR = Color(128, 0, 0)

    def __init__(self):
        self._last_fetch = 0
        self._matrix = None
        # im = Image.open(gif_path)
        # if im.size != (10, 10):
        #     raise Exception('Wrong giff size! Expected 10x10 got %sx%s' % im.size)

        # rgb_im = im.convert('RGB')

        # self._current_frame_idx = 0
        # self._frames = []

        # for frame in ImageSequence.Iterator(im):
        #     self._frames.append(frame.convert('RGB'))

        # self._dz = 8
        # self._z = 0

    def step(self, dt):
        if time.time() - self._last_fetch > self.FETCH_INTERVAL:
            self._last_fetch = time.time()
            self._matrix = get_matrix()
        # self._z += self._dz * dt
        # self._current_frame_idx = int(self._z % len(self._frames))

    def render(self, display):
        if self._matrix is None:
            display.fill(Color(self.ERROR_COOLOR))
            return

        for y, row in enumerate(self._matrix):
            for x, color_idx in enumerate(row):
                display.safe_set(
                    x, y, self.COLOR_PALETTE.get(color_idx, self.ERROR_COOLOR))
Example #23
0
import sys
sys.path.append('../utils')
from driver import Driver
from display import Display, Color
dr = Driver("192.168.1.214", 6454)

display = Display(10, 10)
pallette = [Color.hsv(i / 22 + 0.5) for i in range(10)]


def draw_bar(x, height):
    for i in range(height + 1):
        display.set(x, i, pallette[i])


with open('cava.output') as f:
    while True:
        l = f.readline().strip().split(';')[10:-1]
        l = l[::-1]
        l = [int(i) for i in l]
        display.fill(Color.black())
        for i, c in enumerate(l):
            draw_bar(i, c)
        dr.set_matrix(display.serialize())
Example #24
0
 def render(self, display):
     current_frame = self._frames[self._current_frame_idx]
     for y in range(display.height):
         for x in range(display.width):
             display.set(x, y, Color(*current_frame.getpixel((x, y))))