Beispiel #1
0
    def on_modified(self, event):
        # self.process(event)
        # ('./lol.txt', 'modified')
        # Verificar conteudo da linha
        # Caso correcto, limpa canvas e mostra
        global counter
        global canvas
        if str(event.src_path[2:]) in patterns:
            time.sleep(0.3)
            for line in fileinput.input(files=event.src_path):
                cells = arg_as_list(line)
                if (len(cells) == (n_cells_per_side * n_cells_per_side)):

                    if counter:
                        win = GraphicsWindow(n_cells_per_side * n_pixeis + 1,
                                             n_cells_per_side * n_pixeis + 1)
                        win.setTitle("RGB Matrix")
                        canvas = win.canvas()
                        counter = False
                    else:
                        canvas.clear()

                    for i in range(n_cells_per_side * n_cells_per_side):
                        x = int(i / n_cells_per_side)
                        y = i % n_cells_per_side
                        canvas.setColor(cells[i][0], cells[i][1], cells[i][2])
                        canvas.drawRectangle(x * n_pixeis, y * n_pixeis,
                                             n_pixeis, n_pixeis)
Beispiel #2
0
def main():
    
        parser = argparse.ArgumentParser('RGB Matrix App')
        parser.add_argument('-a', action="store", dest="ncps", type=int, help="Matrix side length")
        parser.add_argument('-b', action="store", dest="np", type=int, help="Num. pixels per cell")
        parser.add_argument('files', metavar='FILE', nargs='*', help='files to read, if empty, stdin is used. Each line is [[r,g,b],...]')
            
        global n_cells_per_side
        global n_pixeis
        global filess
        global patterns
        
        if os.path.isfile('RGBMatrixConf.txt') == True:
            my_file = open('RGBMatrixConf.txt','r')
            first_line = my_file.readline().rstrip()
            arglist = first_line.split( )
            arglist.extend(sys.argv)
            res = parser.parse_args(arglist)
            n_cells_per_side = res.ncps
            n_pixeis = res.np
            filess = res.files
            
            #print (sys.argv[1], " ", len(sys.argv[1]))
            if  len(sys.argv)>1 and os.path.isfile(sys.argv[1]) == True:
                patterns.append(sys.argv[1])
                observer = Observer()
                observer.schedule(MyHandler(), path='.')
                observer.start()

                try:
                    while True:
                        time.sleep(1)
                except KeyboardInterrupt:
                    observer.stop()
                observer.join()
            else:
                # ler do stdin
                print ("ler do stdin")
                for line in sys.stdin:
                    cells = arg_as_list(line)
                    if (len(cells) == (n_cells_per_side*n_cells_per_side)):
                        global counter
                        global canvas
                        if counter:
                            win = GraphicsWindow(n_cells_per_side*n_pixeis+1,n_cells_per_side*n_pixeis+1)
                            win.setTitle("RGB Matrix")
                            canvas = win.canvas()
                            counter = False
                        else:
                            canvas.clear()
                        
                        for i in range(n_cells_per_side*n_cells_per_side):
                            x = int(i/n_cells_per_side)
                            y = i%n_cells_per_side
                            canvas.setColor(cells[i][0],cells[i][1],cells[i][2])
                            canvas.drawRectangle(x*n_pixeis,y*n_pixeis,n_pixeis,n_pixeis)
                    time.sleep(0.5)
        else:
            raise IOError("File RGBMatrixConf.txt doesn't appear to exists.")
from ezgraphics import GraphicsWindow
win = GraphicsWindow()
win.setTitle("Snømann")
canvas = win.canvas()
canvas.drawOval(170,20,50,50)
canvas.drawOval(145,70,100,100)
canvas.drawOval(125,170,150,150)


win.wait()
Beispiel #4
0
# house.py
#
# Created by: R. Givens
# Modified by: Will Schick
#
# Date: 2/27/2018
#
# This program draws a collection of geometric shapes and text on
# graphics canvas to create the appearance of a house.

from ezgraphics import GraphicsWindow

# Create the window and access the canvas.
win = GraphicsWindow(320, 410)
win.setTitle("This Little House")
canvas = win.canvas()

# Draw on the canvas.
#House Base
canvas.setColor(175, 25, 25)
canvas.setOutline(0, 0, 0)
canvas.drawRect(10, 135, 300, 300)
#Door
canvas.setColor(100, 0, 0)
canvas.drawRect(60, 235, 80, 200)
#Window
canvas.setColor(0, 200, 255)
canvas.setOutline(0, 0, 0)
canvas.drawRect(190, 275, 80, 80)
#Window Frames
canvas.setColor(0, 0, 0)
Beispiel #5
0
from ezgraphics import GraphicsWindow
win = GraphicsWindow(600, 600)
win.setTitle("My House")
can = win.canvas()
can.setFill("green")
can.drawRect(0, 150, 200, 20)
can.setFill("red")
can.drawRect(50, 50, 100, 100)
can.setFill("white")
can.drawRect(60, 90, 24, 24)
can.drawLine(60, 102, 85, 102)
can.drawLine(72, 90, 72, 114)
can.setFill("brown")
can.drawRect(100, 100, 25, 50)
can.drawPoly(100, 0, 50, 50, 150, 50)
Beispiel #6
0
'''
Dette programmet bruker modulen ezgraphics for å tegne sirkler i et
grafisk vindu.
'''

from ezgraphics import GraphicsWindow

win = GraphicsWindow()
win.setTitle("Kult sirkelprogram")
can = win.canvas()
can.setBackground(50,125,250)


count = 0
x_pos = 10
stoerrelse = 50
# While løkken går 9 ganger, og tegner en sirkel for hver gang.

#jeg la til listen col, med ulike verdier for fargene R,G,B for litt ekstra spice
col=[255,0,0]
while count < 9:
    can.setOutline(col[0],col[1],col[2])
    can.drawOval(x_pos, 100, stoerrelse, stoerrelse)
    #Størrelse øker med 5 for hver gang, x_pos øker med 20
    count +=1
    x_pos += 20
    stoerrelse += 5
    #Fargene til hver sirkel endres
    col[0]-=25
    col[1]+=25
win.wait()
Beispiel #7
0
# dimensions of the flag
flagHeight = A
flagWidth = 1.9 * flagHeight
flagC = flagHeight * 7 / 13
flagD = flagWidth * 2 / 5
flagE = flagC / 10
flagF = flagE
flagG = flagD / 12
flagH = flagG
flagL = flagHeight / 13
StarK = flagL * 4 / 5

win = GraphicsWindow(flagWidth, flagHeight)
canvas = win.canvas()
win.setTitle("US Flag")

# the stripes are being drawn
for i in range(13):
    canvas.setColor("white")
    if (i % 2) == 0:
        canvas.setColor(191, 10, 48)
    canvas.drawRect(0, i * flagL, flagWidth, flagL)

# The canton part
canvas.setFill(0, 40, 104)
canvas.drawRect(0, 0, flagD, flagC)

posOfStarsX = []
posOfStarsY = []
# the 6 star row of the canton
def Countdown_Calculations(): #does the mafs! and plots the visuals
    '''time used to display bars'''
    time_in_seconds = final_time ###error of one minute

    '''Create the Window'''
    win = GraphicsWindow(750, 400)
    win.setTitle("Liam's Clock")
    canvas = win.canvas()
    canvas.setBackground(0, 0, 0) 

    #########################################################################
    ## Seconds delay##
    seconds_remainder = time_in_seconds - int(time_in_seconds)
    #print (seconds_remainder)
    seconds = (60 * seconds_remainder)  #convert to seconds as 59 seconds is nearly a min and will not be accurate
    #print (int(seconds))

    ## LOADING SCREEN ##
    canvas.setColor("green") #set colour of text
    canvas.drawText(340, 200, " LOADING ...")

    ##waits for number of seconds to ensure that it is accurate in mins and hours and days###
    time.sleep(int(seconds))


    ###################################################################################
    ##### START COUNTDOWN CLOCK #######################################

    '''draw titles'''
    canvas.setColor("white")
    canvas.drawText(30, 120, "Days")
    canvas.drawText(30, 220, "Hours")
    canvas.drawText(30, 320, "Minutes")

    '''draw remain titles'''
    canvas.drawText(100, 40, "TIME REMAINING: ")
    canvas.drawText(240, 40, "DAYS ")
    canvas.drawText(320, 40, "HOURS ")
    canvas.drawText(420, 40, "MINUTES ")



    while time_in_seconds > 0:
            
            #print ("remaining seconds", time_in_seconds)

            #print ("")

            #days#
            days = int(time_in_seconds/86400)
            print ("Days", days)

            #hours#
            hours = int((time_in_seconds - (days * 86400))/3600)
            print ("Hours", hours)

            #time.sleep(3)

            #minutes#
            minutes = int((time_in_seconds - ((hours * 3600) + (days * 86400)))/60)
            print ("Minutes", minutes)

            #########################################################################################
            #Days#
            '''Create Day Graphic'''#left dis. top dis, rec_size
            '''Add Title'''
            canvas.setColor("green") #set colour
            canvas.drawRectangle(98, 100, 602, 50)
            '''add the hours'''
            canvas.setColor("red") #set colour
            canvas.drawRectangle(98, 100, (days * 86), 50)
            canvas.drawText(280, 40, str(days))


            ##########################################################################################
            #Hours#
            '''Create Hour Graphic'''#left dis. top dis, rec_size
            '''Add Title'''
            #canvas.drawText(30, 70, "Hours")

            canvas.setColor("green") #set colour
            canvas.drawRectangle(100, 200, 600, 50)
            '''add the hours'''
            canvas.setColor("orange") #set colour
            canvas.drawRectangle(100, 200, (hours * 25), 50)
            canvas.drawText(370, 40, str(hours))

            ##############################################################################################
            #Minutes#
            '''Create Minutes Graphic'''#left dis. top dis, rec_size
            '''Add Title'''
            #canvas.drawText(30, 220, "Minutes")

            canvas.setColor("green") #set colour
            canvas.drawRectangle(100, 300, 600, 50)
            '''add the hours'''
            canvas.setColor("blue") #set colour
            canvas.drawRectangle(100, 300, (minutes * 10), 50)
            canvas.drawText(480, 40, str(minutes))


            '''wait for 60 seconds before looping'''
            time_in_seconds = time_in_seconds - 60
            time.sleep(60)

            
            ###############################################################################
            #clear the previous text values#####
            '''clear time values to avoid over writting: overwrite in black'''
            canvas.setColor("black") #set colour
            canvas.drawText(280, 40, str(days))
            canvas.setColor("black") #set colour
            canvas.drawText(370, 40, str(hours))
            canvas.setColor("black") #set colour
            canvas.drawText(480, 40, str(minutes))

    #canvas.drawText(400, 70, "TIME UP")
    #canvas.setColor("orange")
    #canvas.drawRectangle(100, 200, 600, 50)
    canvas.setBackground(255, 255, 255)
    canvas.setColor("white") #set colour
    canvas.drawText(340, 220, "TIME UP")        
Beispiel #9
0
# Date:08/22/2017

from ezgraphics import GraphicsWindow
from math import *

flagWidth = int(input("Please enter the width of the flag eg. 100 : "))
flagLength = 1.5 * flagWidth
flagA = 0.5 * flagWidth
flagB = 0.5 * flagWidth
flagC = 1 / 16 * flagWidth
flagD = 0.4 * flagWidth
flagE = 1 / 3 * flagWidth
flagF = 1 / 4 * flagWidth

win = GraphicsWindow(flagLength, flagWidth)
win.setTitle("Turkish Flag")
canvas = win.canvas()
#canvas.title('Turkish Flag')
canvas.setFill("red")
canvas.drawRect(0, 0, flagLength, flagWidth)

canvas.setOutline(255, 255, 255)
canvas.setFill(255, 255, 255)
canvas.drawOval((flagA - flagB / 2), (flagWidth / 2 - flagB / 2), flagB, flagB)

canvas.setOutline("red")
canvas.setFill("red")
canvas.drawOval(flagA + flagC - flagD / 2, flagWidth / 2 - flagD / 2, flagD,
                flagD)

# Center of the star circle
Beispiel #10
0
#Oppgave 3
#I denne oppgaven har jeg laget et program som lager 9 sirkler etter hverandre som gradvis oeker i stoerrelse.
#Hver nye sirkel er skiftet 30 piksler langs x-aksen, mens diameteren oeker med 5 piksler. 

#Deloppgave 1: Lager et grafikkvindu og canvas.
from ezgraphics import GraphicsWindow
win = GraphicsWindow()
win.setTitle("Oppgave 3, sirkler.py")
can = win.canvas()

#Deloppgave 2
teller = 0
x_pos = 10
stoerrelse = 50 #Deloppgave 4


#Deloppgave 3
while teller < 9:
	can.drawOval(x_pos, 100, stoerrelse, stoerrelse)
	x_pos += 30
	stoerrelse += 5 #Deloppgave 4
	teller += 1

win.wait()
Beispiel #11
0
				if y < 0:
					coordinateList.append(0)
				elif y > 400:
					coordinateList.append(400)
				else:
					coordinateList.append(y)
			break
		except ValueError:
			print("You did not input av valid number blease try again:")


#Import EzGraphics and create window and canvas
#The window is by default 400 X 400 pixels large.
from ezgraphics import GraphicsWindow
win = GraphicsWindow()
win.setTitle("Oppgave 5, egen_oppgave.py")
canvas = win.canvas()

#Draws the polygon onto the canvas:
if numberOfEdges == 3:
	canvas.drawPolygon(
	coordinateList[0], coordinateList[1], 
	coordinateList[2], coordinateList[3], 
	coordinateList[4], coordinateList[5])
elif numberOfEdges == 4:
	canvas.drawPolygon(
	coordinateList[0], coordinateList[1], 
	coordinateList[2], coordinateList[3], 
	coordinateList[4], coordinateList[5], 
	coordinateList[6], coordinateList[7])
elif numberOfEdges == 5:
Beispiel #12
0
#Oppgave 3

#I denne oppgaven benytter jeg ezgraphicsmodulen og benytter funksjoner derifra for aa tegne
#en roed sirkel. Prosedyre for aa tegne har jeg tatt fra EzGraphics.org sin "User guide".
#Link: http://www.ezgraphics.org/UserGuide/GettingStarted
#Link: http://www.ezgraphics.org/UserGuide/OvalsAndCircles

#Deloppgave 4:
#Importerer ezgraphics
from ezgraphics import GraphicsWindow

#Lager vindu
win = GraphicsWindow()
win.setTitle("Oppgave 3: sirkel.py")

#Lager nytt canvas-objekt
canvas = win.canvas()

#Tegner en roed sirkel:
canvas.setColor("red")
canvas.drawOval(50, 50, 300, 300)

#Venter til bruker lukker program
win.wait()
Beispiel #13
0
# Date: 2/27/2018
#
# This program asks for the size of the window and draws a target and bulls eye to accommodate

from ezgraphics import GraphicsWindow

#UserInput
print("---" * 5)
canvasSize = int(input("Target Size?: "))

#Constants & Variables

# Create the window and access the canvas.
win = GraphicsWindow(canvasSize, canvasSize)
canvas = win.canvas()
win.setTitle("Bull's-Eye")

# Draw on the canvas.
#Canvas Color
canvas.setColor("grey")
canvas.drawRect(0, 0, canvasSize, canvasSize)

#First Ring
canvas.setColor("black")
canvas.drawOval(0, 0, canvasSize, canvasSize)

#Second Ring
canvas.setColor("white")
canvas.drawOval(canvasSize * .1, canvasSize * .1, canvasSize * .80,
                canvasSize * .80)
Beispiel #14
0
# olympicRings.py
#
# Created by: Will Schick
#
# Date: 2/27/2018
#
# This program draws the olympic rings in a graphics window

from ezgraphics import GraphicsWindow

# Create the window and access the canvas.
win = GraphicsWindow(340, 160)
canvas = win.canvas()
win.setTitle("Olympic Rings!")

# Draw on the canvas.
#Blue Ring
canvas.setOutline("blue")
canvas.drawOval(0, 0, 100, 100)

#Yellow Ring
canvas.setOutline("yellow")
canvas.drawOval(60, 60, 100, 100)

#Black Ring
canvas.setOutline("black")
canvas.drawOval(120, 0, 100, 100)

#Green Ring
canvas.setOutline("green")
canvas.drawOval(180, 60, 100, 100)
Beispiel #15
0
#Dette programmet åpner opp et vindu med en rød sirkel.

from ezgraphics import GraphicsWindow
win = GraphicsWindow()
win.setTitle("En Rod Sirkel") #Her setter jeg på tittelen.
canvas = win.canvas()
canvas.setColor("red") #Her setter jeg på fargen.
canvas.drawOval(60, 10, 100, 100)
win.wait()
Beispiel #16
0
#Oppg.3.1-4. Bruke modulen ezGraphics.py for å tegne figurer. Har dessverre ikke fått meg pensumboka enda...
#Henter først ut GraphicsWindow fra exgraphics, der figurene kan tegnes.

from ezgraphics import GraphicsWindow

# Lage et vindu for å tegne i, 500x500 pixels.
vindu = GraphicsWindow(500, 500)

# Setter tittel på vinduet.
vindu.setTitle("Oppg. 3: Rød sirkel")

#Gir navn til vinduet for å bruke videre i programmeringen.
canvas = vindu.canvas()

#Gir sirkelen rødfarge.
canvas.setOutline("red")

#canvas.setFill("red") #kan brukes for å lage det japanske flagget.

#canvas.drawOval(x, y, width, height) brukes for å tegne sirkel.
canvas.drawOval(100, 100, 300, 300)