added automatix viewbox for svg

This commit is contained in:
Allan Martins 2018-08-21 16:29:45 +02:00
parent 3421306121
commit 5e76148cd9
2 changed files with 19 additions and 7 deletions

View File

@ -1,4 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1000mm" height="2000mm" viewBox="0 0 1000 2000"> <path stroke="black" fill="none" d="M298.76,999.96 C298.76 999.96,299.2 999.84,299.64 999.84 C300.0 999.92,300.36 1000.04,300.88 1000.48 C301.6 1001.0,302.0 1001.24,302.36 1001.52 C302.76 1001.76,303.12 1002.08,303.52 1002.36 C304.0 1002.72,304.48 1003.16,305.12 1003.64 C305.76 1004.08,306.44 1004.48,307.04 1004.88 C307.6 1005.2,308.32 1005.64,309.12 1006.12 C310.08 1006.6,311.12 1007.16,312.24 1007.76 C313.48 1008.32,314.6 1008.88,315.68 1009.36 C316.56 1009.76,317.32 1010.04,318.0 1010.36 C318.6 1010.64,319.2 1010.88,319.76 1011.12 C320.2 1011.36,320.56 1011.56,321.0 1011.96 C321.0 1011.96,321.0 1011.96"/>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="564.84mm" height="991.5600000000001mm" viewBox="209.64 150.6 774.48 1142.16"> <path stroke="black" fill="none" d="M298.76,999.96 C298.76 999.96,299.2 999.84,299.64 999.84 C300.0 999.92,300.36 1000.04,300.88 1000.48 C301.6 1001.0,302.0 1001.24,302.36 1001.52 C302.76 1001.76,303.12 1002.08,303.52 1002.36 C304.0 1002.72,304.48 1003.16,305.12 1003.64 C305.76 1004.08,306.44 1004.48,307.04 1004.88 C307.6 1005.2,308.32 1005.64,309.12 1006.12 C310.08 1006.6,311.12 1007.16,312.24 1007.76 C313.48 1008.32,314.6 1008.88,315.68 1009.36 C316.56 1009.76,317.32 1010.04,318.0 1010.36 C318.6 1010.64,319.2 1010.88,319.76 1011.12 C320.2 1011.36,320.56 1011.56,321.0 1011.96 C321.0 1011.96,321.0 1011.96"/>
<path stroke="black" fill="none" d="M301.84,1002.44 C301.84 1002.44,301.8 1002.04,302.16 1002.12 C302.88 1002.44,303.52 1002.72,304.36 1003.2 C305.4 1003.72,306.52 1004.36,307.84 1005.08 C309.24 1005.88,310.76 1006.84,312.36 1007.8 C313.96 1008.72,315.44 1009.56,316.88 1010.32 C318.16 1011.0,319.36 1011.64,320.52 1012.32 C321.56 1012.92,322.48 1013.4,323.12 1013.84 C323.6 1014.08,323.96 1014.32,324.32 1014.56 C323.92 1014.36,323.08 1013.96,322.36 1013.64 C321.44 1013.12,320.28 1012.44,318.92 1011.64 C317.48 1010.76,316.08 1009.92,314.72 1009.12 C313.48 1008.32,312.2 1007.6,310.96 1006.84 C309.68 1006.16,308.48 1005.52,307.44 1004.92 C306.48 1004.4,305.72 1003.92,305.04 1003.56 C304.52 1003.24,304.12 1003.0,303.76 1002.76 C304.36 1003.2,304.84 1003.52,305.48 1003.96 C306.32 1004.48,307.36 1005.2,308.6 1006.0 C310.08 1006.92,311.8 1007.84,313.64 1008.84 C315.52 1009.76,317.4 1010.64,319.12 1011.48 C320.76 1012.24,322.24 1012.92,323.52 1013.56 C324.72 1014.04,325.84 1014.44,327.0 1014.8 C328.2 1015.2,329.36 1015.6,330.28 1015.96 C331.04 1016.24,331.56 1016.52,331.92 1016.68 C332.32 1016.96,333.2 1016.08,333.2 1016.08 C333.2 1016.08"/>
<path stroke="black" fill="none" d="M307.72,1007.04 C307.72 1007.04,308.08 1007.2,308.64 1007.4 C309.04 1007.52,309.52 1007.64,310.08 1007.88 C310.68 1008.2,311.36 1008.56,312.16 1009.04 C313.08 1009.52,314.0 1010.0,314.96 1010.48 C315.88 1010.92,316.76 1011.28,317.72 1011.68 C318.72 1012.04,319.84 1012.4,321.04 1012.84 C322.24 1013.24,323.36 1013.64,324.4 1014.0 C325.48 1014.36,326.68 1014.76,328.04 1015.24 C329.52 1015.72,330.92 1016.16,332.16 1016.64 C333.4 1017.08,334.6 1017.6,335.88 1018.12 C337.28 1018.64,338.76 1019.12,340.16 1019.56 C341.52 1020.04,342.84 1020.44,344.0 1020.88 C345.12 1021.32,346.08 1021.68,346.92 1022.04 C347.64 1022.32,348.16 1022.56,348.64 1022.68 C349.0 1022.8,348.36 1022.36,347.72 1022.08 C347.72 1022.08"/>
<path stroke="black" fill="none" d="M329.0,1015.2 C329.0 1015.2,329.44 1015.36,329.84 1015.52 C330.52 1015.72,330.96 1015.84,331.44 1015.96 C331.88 1016.08,332.32 1016.2,332.76 1016.28 C333.12 1016.4,333.64 1016.6,334.24 1016.8 C334.88 1017.0,335.52 1017.24,336.04 1017.4 C336.44 1017.56,336.8 1017.72,337.16 1017.88 C337.68 1018.04,338.24 1018.24,338.8 1018.44 C339.32 1018.64,339.88 1018.84,340.36 1019.04 C340.88 1019.16,341.44 1019.32,341.92 1019.44 C342.48 1019.52,343.0 1019.64,343.52 1019.72 C344.16 1019.84,344.68 1019.96,345.24 1020.08 C345.76 1020.2,346.16 1020.24,346.6 1020.32 C346.96 1020.36,347.36 1020.48,347.92 1020.6 C348.52 1020.76,349.12 1020.88,349.76 1021.0 C350.32 1021.12,350.84 1021.2,351.28 1021.32 C351.96 1021.56,352.4 1021.72,352.88 1021.84 C353.4 1021.96,353.88 1022.08,354.44 1022.2 C355.04 1022.36,355.72 1022.52,356.36 1022.64 C357.0 1022.76,357.68 1022.88,358.32 1023.04 C358.96 1023.16,359.64 1023.28,360.2 1023.4 C360.84 1023.52,361.44 1023.64,361.96 1023.72 C362.48 1023.84,362.92 1023.96,363.44 1024.04 C364.12 1024.12,364.96 1024.2,365.84 1024.28 C366.84 1024.36,367.88 1024.48,368.8 1024.6 C369.72 1024.72,370.56 1024.88,371.4 1024.96 C372.28 1025.12,373.28 1025.2,374.24 1025.28 C375.16 1025.32,376.04 1025.4,376.92 1025.48 C377.88 1025.52,378.64 1025.52,379.24 1025.56 C379.68 1025.52,380.24 1025.6,380.8 1025.76 C381.44 1025.84,381.96 1025.8,381.96 1025.8 C381.96 1025.8"/>

Before

Width:  |  Height:  |  Size: 401 KiB

After

Width:  |  Height:  |  Size: 401 KiB

View File

@ -55,7 +55,7 @@ lineData : array with arrays of lineWhidths
"""
for x, y, lineWidth in zip(xData, yData, lineData):
plt.plot(x,y,'k', linewidth=(lineWidth**5)/20)
plt.plot(x,[-y for y in y],'k', linewidth=(lineWidth**5)/20)
plt.axis('equal')
@ -72,18 +72,30 @@ lineData : array with arrays of lineWhidths
TODO: Take linewidhts into consideration
"""
svgStr = f'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1000mm" height="2000mm" viewBox="0 0 1000 2000"> '
svgStr = f''
minX = 10000
minY = 10000
maxX = -10000
maxY = -10000
for arrayX, arrayY in zip(xData, yData):
svgStr += f'<path stroke="black" fill="none" d="M{arrayX[0]},{-arrayY[0]} '
svgStr += f'<path stroke="black" fill="none" d="M{arrayX[0]},{arrayY[0]} '
for x, y, idx in zip(arrayX[1:], arrayY[1:], range(len(arrayX)-1)):
if idx%3 == 0:
svgStr = svgStr[:-1] + f' C'
svgStr += f'{x} {-y},'
svgStr += f'{x} {y},'
minX = x if minX>x else minX
minY = y if minY>y else minY
maxX = x if maxX<x else maxX
maxY = y if maxY<y else maxY
svgStr = svgStr[:-1] + '"/>\n'
svgStr += '</svg>'
svgWidth = maxX-minX
svgHeight = maxY-minY
svgStr = f'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="{svgWidth}mm" height="{svgHeight}mm" viewBox="{minX} {minY} {maxX} {maxY}"> ' + svgStr + '</svg>'
return svgStr
@ -199,7 +211,7 @@ messageBytes : message to decode
factor = 10**decimalPrecision
x = cumsum(dx, factor)
y = cumsum(dy, -factor)
y = cumsum(dy, factor)
debugPrint(f'field: {field}, wire type:{wireType}')
debugPrint(f'strLen: {strLen}')