Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from lxml import etree
- import re
- import io
- def RBG24to16(value):
- value = value.lstrip('#')
- lv = len(value)
- rgb = tuple(int(value[i:i + lv // 3], 16) for i in range(0, lv, lv // 3))
- hex = "0x%0.4X" % ((int(rgb[0] / 255 * 31) << 11) | (int(rgb[1] / 255 * 63) << 5) | (int(rgb[2] / 255 * 31)))
- return hex
- tree = etree.parse(open(svg_file.svg))
- f_setup = open(setup.txt);
- f_loop = open(loop.txt);
- for element in tree.iter():
- if element.tag.split("}")[1] == 'rect':
- print(element.tag)
- x=float(element.get('x')
- f_setup.write(
- "tft.drawRect("
- +element.get("x")+","+element.get("y")+
- ","+ element.get("width")+","+
- element.get("height")+","+RBG24to16(element.get("stroke"))+ ")"+";")
- f_setup.write(" //"+element.tag.split("}")[1]+" --> "+'"'+element.get("id")+'"'+" with color "+element.get("stroke")+"\n") if 'id' in element.attrib else f_setup.write(" //rect -->"+' "'+" no-id"+'"'+" with color "+element.get("stroke") + "\n")
- ymin=str(int(float(element.get("y")))+4)
- ymax=str(int(float(element.get("y"))+float(element.get("height")))-4)
- xmin=str(int(float(element.get("x"))+4))
- xmax=str(int((float(element.get("x"))+float(element.get("width"))))-4)
- f_loop.write("if (p.y >"+ymin+" && p.y < "+ymax+" && p.x > "+xmin+" && p.x < "+xmax+")"+"{"+"\n"+"\t//put code here\n")
- f_loop.write("\tSerial.println("+'"'+"You have pressed "+element.tag.split("}")[1]+" --> "+ element.get("id") +" with color "+element.get("stroke")+'"'+");\n") if 'id' in element.attrib else f_loop.write("\tSerial.println("+'"'+"You have pressed "+"rect -->" +" no-id"+" with color "+element.get("stroke") +'"'+ ");\n")
- matrix=element.get("transform")
- list = ((re.search("\(([^)]+)\)" ,element.get("transform"))).group(1)).split()
- x=list[4]
- x=str(round(float(x),0))
- y=list[5]
- y=str(round((float(y)-10),0))
- fontsize = str(float(element.get("font-size"))/6)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement