def draw_strokes_custom_color( data, factor = 10, svg_filename = 'test.svg', color_data = None, stroke_width = 1 ):
min_x, max_x, min_y, max_y = get_bounds( data, factor )
dims = ( 50 + max_x - min_x, 50 + max_y - min_y )
dwg = svgwrite.Drawing( svg_filename, size = dims )
dwg.add( dwg.rect( insert = ( 0, 0 ), size = dims, fill = 'white' ) )
lift_pen = 1
abs_x = 25 - min_x
abs_y = 25 - min_y
for i in range( len( data ) ):
x = float( data[ i, 0 ] )/factor
y = float( data[ i, 1 ] )/factor
prev_x = abs_x
prev_y = abs_y
abs_x += x
abs_y += y
if ( lift_pen == 1 ):
p = "M "+str( abs_x )+", "+str( abs_y )+" "
else:
p = "M +"+str( prev_x )+", "+str( prev_y )+" L "+str( abs_x )+", "+str( abs_y )+" "
lift_pen = data[ i, 2 ]
the_color = "black"
if ( color_data is not None ):
the_color = "rgb( "+str( int( color_data[ i, 0 ] ) )+", "+str( int( color_data[ i, 1 ] ) )+", "+str( int( color_data[ i, 2 ] ) )+" )"
dwg.add( dwg.path( p ).stroke( the_color, stroke_width ).fill( the_color ) )
dwg.save( )
display( SVG( dwg.tostring( ) ) )
utils.py 文件源码
python
阅读 18
收藏 0
点赞 0
评论 0
评论列表
文章目录