rgba_to_rgb.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. from modules import ws2812
  2. _ai_led_matrix_total = 36
  3. _ai_led_matrix = ws2812(24,_ai_led_matrix_total)
  4. _ai_brightness = 10
  5. import time
  6. def rgba_to_rgb_conversion(red, green, blue):
  7. if _ai_brightness <= 255:
  8. alpha = _ai_brightness / 255
  9. elif _ai_brightness > 255:
  10. alpha = 255 / 255
  11. elif _ai_brightness < 0:
  12. alpha = 0 / 255
  13. final_red = int((1 - alpha) * 0 + alpha * red)
  14. final_green = int((1 - alpha) * 0 + alpha * green)
  15. final_blue = int((1 - alpha) * 0 + alpha * blue)
  16. final = (final_red, final_green, final_blue)
  17. return final
  18. def _ai_led_draw_rectangle(x, y, w, h, rgb):
  19. for i in range(x, x+ w, 1):
  20. for j in range(y, y+h, 1):
  21. _a = _ai_led_matrix.set_led((((i*6)//6)-1)*6+(j-1),(rgb))
  22. while True:
  23. for b in range(0, 50, 1):
  24. _ai_brightness = b
  25. _ai_led_draw_rectangle(1,1,6,6,rgba_to_rgb_conversion(255, 0, 0))
  26. _ai_led_matrix.display()
  27. time.sleep_ms(1)
  28. for b in range(50, 0, -1):
  29. _ai_brightness = b
  30. _ai_led_draw_rectangle(1,1,6,6,rgba_to_rgb_conversion(255, 0, 0))
  31. _ai_led_matrix.display()
  32. time.sleep_ms(1)