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)
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()
# 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)
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)
''' 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()
# 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")
# 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
#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()
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:
#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()
# 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)
# 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)
#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()
#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)