start_arrow_length property

Stroke.start_arrow_length property

Defines the arrowhead length for the start of a stroke.

@property
def start_arrow_length(self) -> aspose.words.drawing.ArrowLength:
    ...

@start_arrow_length.setter
def start_arrow_length(self, value: aspose.words.drawing.ArrowLength):
    ...

Remarks

The default value is ArrowLength.MEDIUM.

Examples

Shows to create a variety of shapes.

doc = aw.Document()
builder = aw.DocumentBuilder(doc)
# Below are four examples of shapes that we can insert into our documents.
# 1 -  Dotted, horizontal, half-transparent red line
# with an arrow on the left end and a diamond on the right end:
arrow = aw.drawing.Shape(doc, aw.drawing.ShapeType.LINE)
arrow.width = 200
arrow.stroke.color = drawing.Color.red
arrow.stroke.start_arrow_type = aw.drawing.ArrowType.ARROW
arrow.stroke.start_arrow_length = aw.drawing.ArrowLength.LONG
arrow.stroke.start_arrow_width = aw.drawing.ArrowWidth.WIDE
arrow.stroke.end_arrow_type = aw.drawing.ArrowType.DIAMOND
arrow.stroke.end_arrow_length = aw.drawing.ArrowLength.LONG
arrow.stroke.end_arrow_width = aw.drawing.ArrowWidth.WIDE
arrow.stroke.dash_style = aw.drawing.DashStyle.DASH
arrow.stroke.opacity = 0.5
self.assertEqual(aw.drawing.JoinStyle.MITER, arrow.stroke.join_style)
builder.insert_node(arrow)
# 2 -  Thick black diagonal line with rounded ends:
line = aw.drawing.Shape(doc, aw.drawing.ShapeType.LINE)
line.top = 40
line.width = 200
line.height = 20
line.stroke_weight = 5.0
line.stroke.end_cap = aw.drawing.EndCap.ROUND
builder.insert_node(line)
# 3 -  Arrow with a green fill:
filled_in_arrow = aw.drawing.Shape(doc, aw.drawing.ShapeType.ARROW)
filled_in_arrow.width = 200
filled_in_arrow.height = 40
filled_in_arrow.top = 100
filled_in_arrow.fill.fore_color = drawing.Color.green
filled_in_arrow.fill.visible = True
builder.insert_node(filled_in_arrow)
# 4 -  Arrow with a flipped orientation filled in with the Aspose logo:
filled_in_arrow_img = aw.drawing.Shape(doc, aw.drawing.ShapeType.ARROW)
filled_in_arrow_img.width = 200
filled_in_arrow_img.height = 40
filled_in_arrow_img.top = 160
filled_in_arrow_img.flip_orientation = aw.drawing.FlipOrientation.BOTH
with open(IMAGE_DIR + 'Logo.jpg', 'rb') as stream:
    image = drawing.Image.from_stream(stream)
    # When we flip the orientation of our arrow, we also flip the image that the arrow contains.
    # Flip the image the other way to cancel this out before getting the shape to display it.
    image.rotate_flip(drawing.RotateFlipType.ROTATE_NONE_FLIP_XY)
    filled_in_arrow_img.image_data.set_image(image)
    filled_in_arrow_img.stroke.join_style = aw.drawing.JoinStyle.ROUND
    builder.insert_node(filled_in_arrow_img)
doc.save(ARTIFACTS_DIR + 'Drawing.various_shapes.docx')

See Also