Stroke
Inheritance: java.lang.Object
public class Stroke
Defines a stroke for a shape.
To learn more, visit the Working with Shapes documentation article.
Remarks:
Use the Shape.getStroke() property to access stroke properties of a shape. You do not create instances of the Stroke class directly.
Examples:
Shows how change stroke properties.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.insertShape(ShapeType.RECTANGLE, RelativeHorizontalPosition.LEFT_MARGIN, 100.0,
RelativeVerticalPosition.TOP_MARGIN, 100.0, 200.0, 200.0, WrapType.NONE);
// Basic shapes, such as the rectangle, have two visible parts.
// 1 - The fill, which applies to the area within the outline of the shape:
shape.getFill().setForeColor(Color.WHITE);
// 2 - The stroke, which marks the outline of the shape:
// Modify various properties of this shape's stroke.
Stroke stroke = shape.getStroke();
stroke.setOn(true);
stroke.setWeight(5.0);
stroke.setColor(Color.RED);
stroke.setDashStyle(DashStyle.SHORT_DASH_DOT_DOT);
stroke.setJoinStyle(JoinStyle.MITER);
stroke.setEndCap(EndCap.SQUARE);
stroke.setLineStyle(ShapeLineStyle.TRIPLE);
stroke.getFill().twoColorGradient(Color.RED, Color.BLUE, GradientStyle.VERTICAL, GradientVariant.VARIANT_1);
doc.save(getArtifactsDir() + "Shape.Stroke.docx");
Methods
Method | Description |
---|---|
getBackColor() | Gets the background color of the stroke. |
getBackThemeColor() | Gets a ThemeColor object that represents the stroke background color. |
getBackTintAndShade() | Gets a double value that lightens or darkens the stroke background color. |
getBaseForeColor() | Gets the base foreground color of the stroke without any modifiers. |
getColor() | Defines the color of a stroke. |
getColor2() | Defines a second color for a stroke. |
getDashStyle() | Specifies the dot and dash pattern for a stroke. |
getEndArrowLength() | Defines the arrowhead length for the end of a stroke. |
getEndArrowType() | Defines the arrowhead for the end of a stroke. |
getEndArrowWidth() | Defines the arrowhead width for the end of a stroke. |
getEndCap() | Defines the cap style for the end of a stroke. |
getFill() | Gets fill formatting for the Stroke. |
getFillType() | |
getFillableBackColor() | |
getFillableBackThemeColor() | |
getFillableBackTintAndShade() | |
getFillableBaseForeColor() | |
getFillableForeColor() | |
getFillableForeThemeColor() | |
getFillableForeTintAndShade() | |
getFillableImageBytes() | |
getFillableTransparency() | |
getFillableVisible() | |
getFilledColor() | |
getForeColor() | Gets the foreground color of the stroke. |
getForeThemeColor() | Gets a ThemeColor object that represents the stroke foreground color. |
getForeTintAndShade() | Gets a double value that lightens or darkens the stroke foreground color. |
getGradientAngle() | |
getGradientStops() | |
getGradientStyle() | |
getGradientVariant() | |
getImageBytes() | Defines the image for a stroke image or pattern fill. |
getJoinStyle() | Defines the join style of a polyline. |
getLineStyle() | Defines the line style of the stroke. |
getOldOn() | |
getOldOpacity() | |
getOn() | Defines whether the path will be stroked. |
getOpacity() | Defines the amount of transparency of a stroke. |
getPatternType() | |
getPresetTexture() | |
getRotateWithObject() | |
getStartArrowLength() | Defines the arrowhead length for the start of a stroke. |
getStartArrowType() | Defines the arrowhead for the start of a stroke. |
getStartArrowWidth() | Defines the arrowhead width for the start of a stroke. |
getTextureAlignment() | |
getTransparency() | Gets a value between 0.0 (opaque) and 1.0 (clear) representing the degree of transparency of the stroke. |
getVisible() | Gets a flag indicating whether the stroke is visible. |
getWeight() | Defines the brush thickness that strokes the path of a shape in points. |
oneColorGradient(int style, int variant, double degree) | |
patterned(int patternType) | |
presetTextured(int presetTexture) | |
setBackColor(Color value) | Sets the background color of the stroke. |
setBackThemeColor(int value) | Sets a ThemeColor object that represents the stroke background color. |
setBackTintAndShade(double value) | Sets a double value that lightens or darkens the stroke background color. |
setColor(Color value) | Defines the color of a stroke. |
setColor2(Color value) | Defines a second color for a stroke. |
setDashStyle(int value) | Specifies the dot and dash pattern for a stroke. |
setEndArrowLength(int value) | Defines the arrowhead length for the end of a stroke. |
setEndArrowType(int value) | Defines the arrowhead for the end of a stroke. |
setEndArrowWidth(int value) | Defines the arrowhead width for the end of a stroke. |
setEndCap(int value) | Defines the cap style for the end of a stroke. |
setFillableBackColor(Color value) | |
setFillableBackThemeColor(int value) | |
setFillableBackTintAndShade(double value) | |
setFillableForeColor(Color value) | |
setFillableForeThemeColor(int value) | |
setFillableForeTintAndShade(double value) | |
setFillableTransparency(double value) | |
setFillableVisible(boolean value) | |
setFilledColor(Color value) | |
setForeColor(Color value) | Sets the foreground color of the stroke. |
setForeThemeColor(int value) | Sets a ThemeColor object that represents the stroke foreground color. |
setForeTintAndShade(double value) | Sets a double value that lightens or darkens the stroke foreground color. |
setGradientAngle(double value) | |
setImage(byte[] imageBytes) | |
setJoinStyle(int value) | Defines the join style of a polyline. |
setLineStyle(int value) | Defines the line style of the stroke. |
setOldOn(boolean value) | |
setOldOpacity(double value) | |
setOn(boolean value) | Defines whether the path will be stroked. |
setOpacity(double value) | Defines the amount of transparency of a stroke. |
setRotateWithObject(boolean value) | |
setStartArrowLength(int value) | Defines the arrowhead length for the start of a stroke. |
setStartArrowType(int value) | Defines the arrowhead for the start of a stroke. |
setStartArrowWidth(int value) | Defines the arrowhead width for the start of a stroke. |
setTextureAlignment(int value) | |
setTransparency(double value) | Sets a value between 0.0 (opaque) and 1.0 (clear) representing the degree of transparency of the stroke. |
setVisible(boolean value) | Sets a flag indicating whether the stroke is visible. |
setWeight(double value) | Defines the brush thickness that strokes the path of a shape in points. |
solid() | |
twoColorGradient(int style, int variant) |
getBackColor()
public Color getBackColor()
Gets the background color of the stroke.
Remarks:
The default value for a Shape is java.awt.Color#getWhite().getWhite().
Examples:
Show how to set marker formatting.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.insertChart(ChartType.SCATTER, 432.0, 252.0);
Chart chart = shape.getChart();
// Delete default generated series.
chart.getSeries().clear();
ChartSeries series = chart.getSeries().add("AW Series 1", new double[] { 0.7, 1.8, 2.6, 3.9 },
new double[] { 2.7, 3.2, 0.8, 1.7 });
// Set marker formatting.
series.getMarker().setSize(40);
series.getMarker().setSymbol(MarkerSymbol.SQUARE);
ChartDataPointCollection dataPoints = series.getDataPoints();
dataPoints.get(0).getMarker().getFormat().getFill().presetTextured(PresetTexture.DENIM);
dataPoints.get(0).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(0).getMarker().getFormat().getStroke().setBackColor(Color.RED);
dataPoints.get(1).getMarker().getFormat().getFill().presetTextured(PresetTexture.WATER_DROPLETS);
dataPoints.get(1).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(1).getMarker().getFormat().getStroke().setVisible(false);
dataPoints.get(2).getMarker().getFormat().getFill().presetTextured(PresetTexture.GREEN_MARBLE);
dataPoints.get(2).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(3).getMarker().getFormat().getFill().presetTextured(PresetTexture.OAK);
dataPoints.get(3).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(3).getMarker().getFormat().getStroke().setTransparency(0.5);
doc.save(getArtifactsDir() + "Charts.MarkerFormatting.docx");
Returns: java.awt.Color - The background color of the stroke.
getBackThemeColor()
public int getBackThemeColor()
Gets a ThemeColor object that represents the stroke background color.
Examples:
Shows how to set back theme color and tint and shade.
Document doc = new Document(getMyDir() + "Stroke gradient outline.docx");
Shape shape = (Shape)doc.getChild(NodeType.SHAPE, 0, true);
Stroke stroke = shape.getStroke();
stroke.setBackThemeColor(ThemeColor.DARK_2);
stroke.setBackTintAndShade(0.2d);
doc.save(getArtifactsDir() + "Shape.StrokeBackThemeColors.docx");
Returns: int - A ThemeColor object that represents the stroke background color. The returned value is one of ThemeColor constants.
getBackTintAndShade()
public double getBackTintAndShade()
Gets a double value that lightens or darkens the stroke background color.
Remarks:
The allowed values are within the range from -1 (the darkest) to 1 (the lightest) for this property. Zero (0) is neutral. Attempting to set this property to a value less than -1 or more than 1 results in java.lang.IllegalArgumentException.
Examples:
Shows how to set back theme color and tint and shade.
Document doc = new Document(getMyDir() + "Stroke gradient outline.docx");
Shape shape = (Shape)doc.getChild(NodeType.SHAPE, 0, true);
Stroke stroke = shape.getStroke();
stroke.setBackThemeColor(ThemeColor.DARK_2);
stroke.setBackTintAndShade(0.2d);
doc.save(getArtifactsDir() + "Shape.StrokeBackThemeColors.docx");
Returns: double - A double value that lightens or darkens the stroke background color.
getBaseForeColor()
public Color getBaseForeColor()
Gets the base foreground color of the stroke without any modifiers.
Remarks:
The default value for a Shape is java.awt.Color#getBlack().getBlack().
Examples:
Shows how to get foreground color without modifiers.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder();
Shape shape = builder.insertShape(ShapeType.RECTANGLE, 100.0, 40.0);
shape.getFill().setForeColor(Color.RED);
shape.getFill().setForeTintAndShade(0.5);
shape.getStroke().getFill().setForeColor(Color.GREEN);
shape.getStroke().getFill().setTransparency(0.5);
Assert.assertEquals(new Color((255), (188), (188), (255)).getRGB(), shape.getFill().getForeColor().getRGB());
Assert.assertEquals(Color.RED.getRGB(), shape.getFill().getBaseForeColor().getRGB());
Assert.assertEquals(new Color((0), (255), (0), (128)).getRGB(), shape.getStroke().getForeColor().getRGB());
Assert.assertEquals(Color.GREEN.getRGB(), shape.getStroke().getBaseForeColor().getRGB());
Assert.assertEquals(Color.GREEN.getRGB(), shape.getStroke().getFill().getForeColor().getRGB());
Assert.assertEquals(Color.GREEN.getRGB(), shape.getStroke().getFill().getBaseForeColor().getRGB());
Returns: java.awt.Color - The base foreground color of the stroke without any modifiers.
getColor()
public Color getColor()
Defines the color of a stroke.
Remarks:
The default value for a Shape is java.awt.Color#getBlack().getBlack().
Examples:
Shows to create a variety of shapes.
Document doc = new Document();
DocumentBuilder builder = new 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:
Shape arrow = new Shape(doc, ShapeType.LINE);
arrow.setWidth(200.0);
arrow.getStroke().setColor(Color.RED);
arrow.getStroke().setStartArrowType(ArrowType.ARROW);
arrow.getStroke().setStartArrowLength(ArrowLength.LONG);
arrow.getStroke().setStartArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setEndArrowType(ArrowType.DIAMOND);
arrow.getStroke().setEndArrowLength(ArrowLength.LONG);
arrow.getStroke().setEndArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setDashStyle(DashStyle.DASH);
arrow.getStroke().setOpacity(0.5);
Assert.assertEquals(arrow.getStroke().getJoinStyle(), JoinStyle.MITER);
builder.insertNode(arrow);
// 2 - Thick black diagonal line with rounded ends:
Shape line = new Shape(doc, ShapeType.LINE);
line.setTop(40.0);
line.setWidth(200.0);
line.setHeight(20.0);
line.setStrokeWeight(5.0);
line.getStroke().setEndCap(EndCap.ROUND);
builder.insertNode(line);
// 3 - Arrow with a green fill:
Shape filledInArrow = new Shape(doc, ShapeType.ARROW);
filledInArrow.setWidth(200.0);
filledInArrow.setHeight(40.0);
filledInArrow.setTop(100.0);
filledInArrow.getFill().setForeColor(Color.GREEN);
filledInArrow.getFill().setVisible(true);
builder.insertNode(filledInArrow);
// 4 - Arrow with a flipped orientation filled in with the Aspose logo:
Shape filledInArrowImg = new Shape(doc, ShapeType.ARROW);
filledInArrowImg.setWidth(200.0);
filledInArrowImg.setHeight(40.0);
filledInArrowImg.setTop(160.0);
filledInArrowImg.setFlipOrientation(FlipOrientation.BOTH);
BufferedImage image = ImageIO.read(getAsposelogoUri().toURL().openStream());
Graphics2D graphics2D = image.createGraphics();
// 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.
AffineTransform at = new AffineTransform();
at.concatenate(AffineTransform.getScaleInstance(1, -1));
at.concatenate(AffineTransform.getTranslateInstance(0, -image.getHeight()));
graphics2D.transform(at);
graphics2D.drawImage(image, 0, 0, null);
graphics2D.dispose();
filledInArrowImg.getImageData().setImage(image);
builder.insertNode(filledInArrowImg);
doc.save(getArtifactsDir() + "Drawing.VariousShapes.docx");
Returns: java.awt.Color - The corresponding java.awt.Color value.
getColor2()
public Color getColor2()
Defines a second color for a stroke.
Remarks:
The default value for a Shape is java.awt.Color#getWhite().getWhite().
Examples:
Shows how to process shape stroke features.
Document doc = new Document(getMyDir() + "Shape stroke pattern border.docx");
Shape shape = (Shape) doc.getChild(NodeType.SHAPE, 0, true);
Stroke stroke = shape.getStroke();
// Strokes can have two colors, which are used to create a pattern defined by two-tone image data.
// Strokes with a single color do not use the Color2 property.
Assert.assertEquals(new Color((128), (0), (0), (255)), stroke.getColor());
Assert.assertEquals(new Color((255), (255), (0), (255)), stroke.getColor2());
Assert.assertNotNull(stroke.getImageBytes());
FileUtils.writeByteArrayToFile(new File(getArtifactsDir() + "Drawing.StrokePattern.png"), stroke.getImageBytes());
Returns: java.awt.Color - The corresponding java.awt.Color value.
getDashStyle()
public int getDashStyle()
Specifies the dot and dash pattern for a stroke.
Remarks:
The default value is DashStyle.SOLID.
Examples:
Shows to create a variety of shapes.
Document doc = new Document();
DocumentBuilder builder = new 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:
Shape arrow = new Shape(doc, ShapeType.LINE);
arrow.setWidth(200.0);
arrow.getStroke().setColor(Color.RED);
arrow.getStroke().setStartArrowType(ArrowType.ARROW);
arrow.getStroke().setStartArrowLength(ArrowLength.LONG);
arrow.getStroke().setStartArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setEndArrowType(ArrowType.DIAMOND);
arrow.getStroke().setEndArrowLength(ArrowLength.LONG);
arrow.getStroke().setEndArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setDashStyle(DashStyle.DASH);
arrow.getStroke().setOpacity(0.5);
Assert.assertEquals(arrow.getStroke().getJoinStyle(), JoinStyle.MITER);
builder.insertNode(arrow);
// 2 - Thick black diagonal line with rounded ends:
Shape line = new Shape(doc, ShapeType.LINE);
line.setTop(40.0);
line.setWidth(200.0);
line.setHeight(20.0);
line.setStrokeWeight(5.0);
line.getStroke().setEndCap(EndCap.ROUND);
builder.insertNode(line);
// 3 - Arrow with a green fill:
Shape filledInArrow = new Shape(doc, ShapeType.ARROW);
filledInArrow.setWidth(200.0);
filledInArrow.setHeight(40.0);
filledInArrow.setTop(100.0);
filledInArrow.getFill().setForeColor(Color.GREEN);
filledInArrow.getFill().setVisible(true);
builder.insertNode(filledInArrow);
// 4 - Arrow with a flipped orientation filled in with the Aspose logo:
Shape filledInArrowImg = new Shape(doc, ShapeType.ARROW);
filledInArrowImg.setWidth(200.0);
filledInArrowImg.setHeight(40.0);
filledInArrowImg.setTop(160.0);
filledInArrowImg.setFlipOrientation(FlipOrientation.BOTH);
BufferedImage image = ImageIO.read(getAsposelogoUri().toURL().openStream());
Graphics2D graphics2D = image.createGraphics();
// 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.
AffineTransform at = new AffineTransform();
at.concatenate(AffineTransform.getScaleInstance(1, -1));
at.concatenate(AffineTransform.getTranslateInstance(0, -image.getHeight()));
graphics2D.transform(at);
graphics2D.drawImage(image, 0, 0, null);
graphics2D.dispose();
filledInArrowImg.getImageData().setImage(image);
builder.insertNode(filledInArrowImg);
doc.save(getArtifactsDir() + "Drawing.VariousShapes.docx");
Returns: int - The corresponding int value. The returned value is one of DashStyle constants.
getEndArrowLength()
public int getEndArrowLength()
Defines the arrowhead length for the end of a stroke.
Remarks:
The default value is ArrowLength.MEDIUM.
Examples:
Shows to create a variety of shapes.
Document doc = new Document();
DocumentBuilder builder = new 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:
Shape arrow = new Shape(doc, ShapeType.LINE);
arrow.setWidth(200.0);
arrow.getStroke().setColor(Color.RED);
arrow.getStroke().setStartArrowType(ArrowType.ARROW);
arrow.getStroke().setStartArrowLength(ArrowLength.LONG);
arrow.getStroke().setStartArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setEndArrowType(ArrowType.DIAMOND);
arrow.getStroke().setEndArrowLength(ArrowLength.LONG);
arrow.getStroke().setEndArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setDashStyle(DashStyle.DASH);
arrow.getStroke().setOpacity(0.5);
Assert.assertEquals(arrow.getStroke().getJoinStyle(), JoinStyle.MITER);
builder.insertNode(arrow);
// 2 - Thick black diagonal line with rounded ends:
Shape line = new Shape(doc, ShapeType.LINE);
line.setTop(40.0);
line.setWidth(200.0);
line.setHeight(20.0);
line.setStrokeWeight(5.0);
line.getStroke().setEndCap(EndCap.ROUND);
builder.insertNode(line);
// 3 - Arrow with a green fill:
Shape filledInArrow = new Shape(doc, ShapeType.ARROW);
filledInArrow.setWidth(200.0);
filledInArrow.setHeight(40.0);
filledInArrow.setTop(100.0);
filledInArrow.getFill().setForeColor(Color.GREEN);
filledInArrow.getFill().setVisible(true);
builder.insertNode(filledInArrow);
// 4 - Arrow with a flipped orientation filled in with the Aspose logo:
Shape filledInArrowImg = new Shape(doc, ShapeType.ARROW);
filledInArrowImg.setWidth(200.0);
filledInArrowImg.setHeight(40.0);
filledInArrowImg.setTop(160.0);
filledInArrowImg.setFlipOrientation(FlipOrientation.BOTH);
BufferedImage image = ImageIO.read(getAsposelogoUri().toURL().openStream());
Graphics2D graphics2D = image.createGraphics();
// 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.
AffineTransform at = new AffineTransform();
at.concatenate(AffineTransform.getScaleInstance(1, -1));
at.concatenate(AffineTransform.getTranslateInstance(0, -image.getHeight()));
graphics2D.transform(at);
graphics2D.drawImage(image, 0, 0, null);
graphics2D.dispose();
filledInArrowImg.getImageData().setImage(image);
builder.insertNode(filledInArrowImg);
doc.save(getArtifactsDir() + "Drawing.VariousShapes.docx");
Returns: int - The corresponding int value. The returned value is one of ArrowLength constants.
getEndArrowType()
public int getEndArrowType()
Defines the arrowhead for the end of a stroke.
Remarks:
The default value is ArrowType.NONE.
Examples:
Shows to create a variety of shapes.
Document doc = new Document();
DocumentBuilder builder = new 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:
Shape arrow = new Shape(doc, ShapeType.LINE);
arrow.setWidth(200.0);
arrow.getStroke().setColor(Color.RED);
arrow.getStroke().setStartArrowType(ArrowType.ARROW);
arrow.getStroke().setStartArrowLength(ArrowLength.LONG);
arrow.getStroke().setStartArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setEndArrowType(ArrowType.DIAMOND);
arrow.getStroke().setEndArrowLength(ArrowLength.LONG);
arrow.getStroke().setEndArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setDashStyle(DashStyle.DASH);
arrow.getStroke().setOpacity(0.5);
Assert.assertEquals(arrow.getStroke().getJoinStyle(), JoinStyle.MITER);
builder.insertNode(arrow);
// 2 - Thick black diagonal line with rounded ends:
Shape line = new Shape(doc, ShapeType.LINE);
line.setTop(40.0);
line.setWidth(200.0);
line.setHeight(20.0);
line.setStrokeWeight(5.0);
line.getStroke().setEndCap(EndCap.ROUND);
builder.insertNode(line);
// 3 - Arrow with a green fill:
Shape filledInArrow = new Shape(doc, ShapeType.ARROW);
filledInArrow.setWidth(200.0);
filledInArrow.setHeight(40.0);
filledInArrow.setTop(100.0);
filledInArrow.getFill().setForeColor(Color.GREEN);
filledInArrow.getFill().setVisible(true);
builder.insertNode(filledInArrow);
// 4 - Arrow with a flipped orientation filled in with the Aspose logo:
Shape filledInArrowImg = new Shape(doc, ShapeType.ARROW);
filledInArrowImg.setWidth(200.0);
filledInArrowImg.setHeight(40.0);
filledInArrowImg.setTop(160.0);
filledInArrowImg.setFlipOrientation(FlipOrientation.BOTH);
BufferedImage image = ImageIO.read(getAsposelogoUri().toURL().openStream());
Graphics2D graphics2D = image.createGraphics();
// 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.
AffineTransform at = new AffineTransform();
at.concatenate(AffineTransform.getScaleInstance(1, -1));
at.concatenate(AffineTransform.getTranslateInstance(0, -image.getHeight()));
graphics2D.transform(at);
graphics2D.drawImage(image, 0, 0, null);
graphics2D.dispose();
filledInArrowImg.getImageData().setImage(image);
builder.insertNode(filledInArrowImg);
doc.save(getArtifactsDir() + "Drawing.VariousShapes.docx");
Returns: int - The corresponding int value. The returned value is one of ArrowType constants.
getEndArrowWidth()
public int getEndArrowWidth()
Defines the arrowhead width for the end of a stroke.
Remarks:
The default value is ArrowWidth.MEDIUM.
Examples:
Shows to create a variety of shapes.
Document doc = new Document();
DocumentBuilder builder = new 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:
Shape arrow = new Shape(doc, ShapeType.LINE);
arrow.setWidth(200.0);
arrow.getStroke().setColor(Color.RED);
arrow.getStroke().setStartArrowType(ArrowType.ARROW);
arrow.getStroke().setStartArrowLength(ArrowLength.LONG);
arrow.getStroke().setStartArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setEndArrowType(ArrowType.DIAMOND);
arrow.getStroke().setEndArrowLength(ArrowLength.LONG);
arrow.getStroke().setEndArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setDashStyle(DashStyle.DASH);
arrow.getStroke().setOpacity(0.5);
Assert.assertEquals(arrow.getStroke().getJoinStyle(), JoinStyle.MITER);
builder.insertNode(arrow);
// 2 - Thick black diagonal line with rounded ends:
Shape line = new Shape(doc, ShapeType.LINE);
line.setTop(40.0);
line.setWidth(200.0);
line.setHeight(20.0);
line.setStrokeWeight(5.0);
line.getStroke().setEndCap(EndCap.ROUND);
builder.insertNode(line);
// 3 - Arrow with a green fill:
Shape filledInArrow = new Shape(doc, ShapeType.ARROW);
filledInArrow.setWidth(200.0);
filledInArrow.setHeight(40.0);
filledInArrow.setTop(100.0);
filledInArrow.getFill().setForeColor(Color.GREEN);
filledInArrow.getFill().setVisible(true);
builder.insertNode(filledInArrow);
// 4 - Arrow with a flipped orientation filled in with the Aspose logo:
Shape filledInArrowImg = new Shape(doc, ShapeType.ARROW);
filledInArrowImg.setWidth(200.0);
filledInArrowImg.setHeight(40.0);
filledInArrowImg.setTop(160.0);
filledInArrowImg.setFlipOrientation(FlipOrientation.BOTH);
BufferedImage image = ImageIO.read(getAsposelogoUri().toURL().openStream());
Graphics2D graphics2D = image.createGraphics();
// 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.
AffineTransform at = new AffineTransform();
at.concatenate(AffineTransform.getScaleInstance(1, -1));
at.concatenate(AffineTransform.getTranslateInstance(0, -image.getHeight()));
graphics2D.transform(at);
graphics2D.drawImage(image, 0, 0, null);
graphics2D.dispose();
filledInArrowImg.getImageData().setImage(image);
builder.insertNode(filledInArrowImg);
doc.save(getArtifactsDir() + "Drawing.VariousShapes.docx");
Returns: int - The corresponding int value. The returned value is one of ArrowWidth constants.
getEndCap()
public int getEndCap()
Defines the cap style for the end of a stroke.
Remarks:
The default value is EndCap.FLAT.
Examples:
Shows to create a variety of shapes.
Document doc = new Document();
DocumentBuilder builder = new 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:
Shape arrow = new Shape(doc, ShapeType.LINE);
arrow.setWidth(200.0);
arrow.getStroke().setColor(Color.RED);
arrow.getStroke().setStartArrowType(ArrowType.ARROW);
arrow.getStroke().setStartArrowLength(ArrowLength.LONG);
arrow.getStroke().setStartArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setEndArrowType(ArrowType.DIAMOND);
arrow.getStroke().setEndArrowLength(ArrowLength.LONG);
arrow.getStroke().setEndArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setDashStyle(DashStyle.DASH);
arrow.getStroke().setOpacity(0.5);
Assert.assertEquals(arrow.getStroke().getJoinStyle(), JoinStyle.MITER);
builder.insertNode(arrow);
// 2 - Thick black diagonal line with rounded ends:
Shape line = new Shape(doc, ShapeType.LINE);
line.setTop(40.0);
line.setWidth(200.0);
line.setHeight(20.0);
line.setStrokeWeight(5.0);
line.getStroke().setEndCap(EndCap.ROUND);
builder.insertNode(line);
// 3 - Arrow with a green fill:
Shape filledInArrow = new Shape(doc, ShapeType.ARROW);
filledInArrow.setWidth(200.0);
filledInArrow.setHeight(40.0);
filledInArrow.setTop(100.0);
filledInArrow.getFill().setForeColor(Color.GREEN);
filledInArrow.getFill().setVisible(true);
builder.insertNode(filledInArrow);
// 4 - Arrow with a flipped orientation filled in with the Aspose logo:
Shape filledInArrowImg = new Shape(doc, ShapeType.ARROW);
filledInArrowImg.setWidth(200.0);
filledInArrowImg.setHeight(40.0);
filledInArrowImg.setTop(160.0);
filledInArrowImg.setFlipOrientation(FlipOrientation.BOTH);
BufferedImage image = ImageIO.read(getAsposelogoUri().toURL().openStream());
Graphics2D graphics2D = image.createGraphics();
// 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.
AffineTransform at = new AffineTransform();
at.concatenate(AffineTransform.getScaleInstance(1, -1));
at.concatenate(AffineTransform.getTranslateInstance(0, -image.getHeight()));
graphics2D.transform(at);
graphics2D.drawImage(image, 0, 0, null);
graphics2D.dispose();
filledInArrowImg.getImageData().setImage(image);
builder.insertNode(filledInArrowImg);
doc.save(getArtifactsDir() + "Drawing.VariousShapes.docx");
Returns: int - The corresponding int value. The returned value is one of EndCap constants.
getFill()
public Fill getFill()
Gets fill formatting for the Stroke.
Examples:
Shows how change stroke properties.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.insertShape(ShapeType.RECTANGLE, RelativeHorizontalPosition.LEFT_MARGIN, 100.0,
RelativeVerticalPosition.TOP_MARGIN, 100.0, 200.0, 200.0, WrapType.NONE);
// Basic shapes, such as the rectangle, have two visible parts.
// 1 - The fill, which applies to the area within the outline of the shape:
shape.getFill().setForeColor(Color.WHITE);
// 2 - The stroke, which marks the outline of the shape:
// Modify various properties of this shape's stroke.
Stroke stroke = shape.getStroke();
stroke.setOn(true);
stroke.setWeight(5.0);
stroke.setColor(Color.RED);
stroke.setDashStyle(DashStyle.SHORT_DASH_DOT_DOT);
stroke.setJoinStyle(JoinStyle.MITER);
stroke.setEndCap(EndCap.SQUARE);
stroke.setLineStyle(ShapeLineStyle.TRIPLE);
stroke.getFill().twoColorGradient(Color.RED, Color.BLUE, GradientStyle.VERTICAL, GradientVariant.VARIANT_1);
doc.save(getArtifactsDir() + "Shape.Stroke.docx");
Returns: Fill - Fill formatting for the Stroke.
getFillType()
public int getFillType()
Returns: int
getFillableBackColor()
public Color getFillableBackColor()
Returns: java.awt.Color
getFillableBackThemeColor()
public int getFillableBackThemeColor()
Returns: int
getFillableBackTintAndShade()
public double getFillableBackTintAndShade()
Returns: double
getFillableBaseForeColor()
public Color getFillableBaseForeColor()
Returns: java.awt.Color
getFillableForeColor()
public Color getFillableForeColor()
Returns: java.awt.Color
getFillableForeThemeColor()
public int getFillableForeThemeColor()
Returns: int
getFillableForeTintAndShade()
public double getFillableForeTintAndShade()
Returns: double
getFillableImageBytes()
public byte[] getFillableImageBytes()
Returns: byte[]
getFillableTransparency()
public double getFillableTransparency()
Returns: double
getFillableVisible()
public boolean getFillableVisible()
Returns: boolean
getFilledColor()
public Color getFilledColor()
Returns: java.awt.Color
getForeColor()
public Color getForeColor()
Gets the foreground color of the stroke.
Remarks:
The default value for a Shape is java.awt.Color#getBlack().getBlack().
Examples:
Show how to set marker formatting.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.insertChart(ChartType.SCATTER, 432.0, 252.0);
Chart chart = shape.getChart();
// Delete default generated series.
chart.getSeries().clear();
ChartSeries series = chart.getSeries().add("AW Series 1", new double[] { 0.7, 1.8, 2.6, 3.9 },
new double[] { 2.7, 3.2, 0.8, 1.7 });
// Set marker formatting.
series.getMarker().setSize(40);
series.getMarker().setSymbol(MarkerSymbol.SQUARE);
ChartDataPointCollection dataPoints = series.getDataPoints();
dataPoints.get(0).getMarker().getFormat().getFill().presetTextured(PresetTexture.DENIM);
dataPoints.get(0).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(0).getMarker().getFormat().getStroke().setBackColor(Color.RED);
dataPoints.get(1).getMarker().getFormat().getFill().presetTextured(PresetTexture.WATER_DROPLETS);
dataPoints.get(1).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(1).getMarker().getFormat().getStroke().setVisible(false);
dataPoints.get(2).getMarker().getFormat().getFill().presetTextured(PresetTexture.GREEN_MARBLE);
dataPoints.get(2).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(3).getMarker().getFormat().getFill().presetTextured(PresetTexture.OAK);
dataPoints.get(3).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(3).getMarker().getFormat().getStroke().setTransparency(0.5);
doc.save(getArtifactsDir() + "Charts.MarkerFormatting.docx");
Returns: java.awt.Color - The foreground color of the stroke.
getForeThemeColor()
public int getForeThemeColor()
Gets a ThemeColor object that represents the stroke foreground color.
Examples:
Shows how to set fore theme color and tint and shade.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.insertShape(ShapeType.TEXT_BOX, 100.0, 40.0);
Stroke stroke = shape.getStroke();
stroke.setForeThemeColor(ThemeColor.DARK_1);
stroke.setForeTintAndShade(0.5);
doc.save(getArtifactsDir() + "Shape.StrokeForeThemeColors.docx");
Returns: int - A ThemeColor object that represents the stroke foreground color. The returned value is one of ThemeColor constants.
getForeTintAndShade()
public double getForeTintAndShade()
Gets a double value that lightens or darkens the stroke foreground color.
Remarks:
The allowed values are within the range from -1 (the darkest) to 1 (the lightest) for this property. Zero (0) is neutral. Attempting to set this property to a value less than -1 or more than 1 results in java.lang.IllegalArgumentException.
Examples:
Shows how to set fore theme color and tint and shade.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.insertShape(ShapeType.TEXT_BOX, 100.0, 40.0);
Stroke stroke = shape.getStroke();
stroke.setForeThemeColor(ThemeColor.DARK_1);
stroke.setForeTintAndShade(0.5);
doc.save(getArtifactsDir() + "Shape.StrokeForeThemeColors.docx");
Returns: double - A double value that lightens or darkens the stroke foreground color.
getGradientAngle()
public double getGradientAngle()
Returns: double
getGradientStops()
public GradientStopCollection getGradientStops()
Returns: GradientStopCollection
getGradientStyle()
public int getGradientStyle()
Returns: int
getGradientVariant()
public int getGradientVariant()
Returns: int
getImageBytes()
public byte[] getImageBytes()
Defines the image for a stroke image or pattern fill.
Examples:
Shows how to process shape stroke features.
Document doc = new Document(getMyDir() + "Shape stroke pattern border.docx");
Shape shape = (Shape) doc.getChild(NodeType.SHAPE, 0, true);
Stroke stroke = shape.getStroke();
// Strokes can have two colors, which are used to create a pattern defined by two-tone image data.
// Strokes with a single color do not use the Color2 property.
Assert.assertEquals(new Color((128), (0), (0), (255)), stroke.getColor());
Assert.assertEquals(new Color((255), (255), (0), (255)), stroke.getColor2());
Assert.assertNotNull(stroke.getImageBytes());
FileUtils.writeByteArrayToFile(new File(getArtifactsDir() + "Drawing.StrokePattern.png"), stroke.getImageBytes());
Returns: byte[] - The corresponding byte[] value.
getJoinStyle()
public int getJoinStyle()
Defines the join style of a polyline.
Remarks:
The default value is JoinStyle.ROUND.
Examples:
Shows how change stroke properties.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.insertShape(ShapeType.RECTANGLE, RelativeHorizontalPosition.LEFT_MARGIN, 100.0,
RelativeVerticalPosition.TOP_MARGIN, 100.0, 200.0, 200.0, WrapType.NONE);
// Basic shapes, such as the rectangle, have two visible parts.
// 1 - The fill, which applies to the area within the outline of the shape:
shape.getFill().setForeColor(Color.WHITE);
// 2 - The stroke, which marks the outline of the shape:
// Modify various properties of this shape's stroke.
Stroke stroke = shape.getStroke();
stroke.setOn(true);
stroke.setWeight(5.0);
stroke.setColor(Color.RED);
stroke.setDashStyle(DashStyle.SHORT_DASH_DOT_DOT);
stroke.setJoinStyle(JoinStyle.MITER);
stroke.setEndCap(EndCap.SQUARE);
stroke.setLineStyle(ShapeLineStyle.TRIPLE);
stroke.getFill().twoColorGradient(Color.RED, Color.BLUE, GradientStyle.VERTICAL, GradientVariant.VARIANT_1);
doc.save(getArtifactsDir() + "Shape.Stroke.docx");
Returns: int - The corresponding int value. The returned value is one of JoinStyle constants.
getLineStyle()
public int getLineStyle()
Defines the line style of the stroke.
Remarks:
The default value is ShapeLineStyle.SINGLE.
Examples:
Shows how change stroke properties.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.insertShape(ShapeType.RECTANGLE, RelativeHorizontalPosition.LEFT_MARGIN, 100.0,
RelativeVerticalPosition.TOP_MARGIN, 100.0, 200.0, 200.0, WrapType.NONE);
// Basic shapes, such as the rectangle, have two visible parts.
// 1 - The fill, which applies to the area within the outline of the shape:
shape.getFill().setForeColor(Color.WHITE);
// 2 - The stroke, which marks the outline of the shape:
// Modify various properties of this shape's stroke.
Stroke stroke = shape.getStroke();
stroke.setOn(true);
stroke.setWeight(5.0);
stroke.setColor(Color.RED);
stroke.setDashStyle(DashStyle.SHORT_DASH_DOT_DOT);
stroke.setJoinStyle(JoinStyle.MITER);
stroke.setEndCap(EndCap.SQUARE);
stroke.setLineStyle(ShapeLineStyle.TRIPLE);
stroke.getFill().twoColorGradient(Color.RED, Color.BLUE, GradientStyle.VERTICAL, GradientVariant.VARIANT_1);
doc.save(getArtifactsDir() + "Shape.Stroke.docx");
Returns: int - The corresponding int value. The returned value is one of ShapeLineStyle constants.
getOldOn()
public boolean getOldOn()
Returns: boolean
getOldOpacity()
public double getOldOpacity()
Returns: double
getOn()
public boolean getOn()
Defines whether the path will be stroked.
Remarks:
The default value for a Shape is true .
Examples:
Shows how change stroke properties.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.insertShape(ShapeType.RECTANGLE, RelativeHorizontalPosition.LEFT_MARGIN, 100.0,
RelativeVerticalPosition.TOP_MARGIN, 100.0, 200.0, 200.0, WrapType.NONE);
// Basic shapes, such as the rectangle, have two visible parts.
// 1 - The fill, which applies to the area within the outline of the shape:
shape.getFill().setForeColor(Color.WHITE);
// 2 - The stroke, which marks the outline of the shape:
// Modify various properties of this shape's stroke.
Stroke stroke = shape.getStroke();
stroke.setOn(true);
stroke.setWeight(5.0);
stroke.setColor(Color.RED);
stroke.setDashStyle(DashStyle.SHORT_DASH_DOT_DOT);
stroke.setJoinStyle(JoinStyle.MITER);
stroke.setEndCap(EndCap.SQUARE);
stroke.setLineStyle(ShapeLineStyle.TRIPLE);
stroke.getFill().twoColorGradient(Color.RED, Color.BLUE, GradientStyle.VERTICAL, GradientVariant.VARIANT_1);
doc.save(getArtifactsDir() + "Shape.Stroke.docx");
Returns: boolean - The corresponding boolean value.
getOpacity()
public double getOpacity()
Defines the amount of transparency of a stroke. Valid range is from 0 to 1.
Remarks:
The default value is 1.
Examples:
Shows to create a variety of shapes.
Document doc = new Document();
DocumentBuilder builder = new 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:
Shape arrow = new Shape(doc, ShapeType.LINE);
arrow.setWidth(200.0);
arrow.getStroke().setColor(Color.RED);
arrow.getStroke().setStartArrowType(ArrowType.ARROW);
arrow.getStroke().setStartArrowLength(ArrowLength.LONG);
arrow.getStroke().setStartArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setEndArrowType(ArrowType.DIAMOND);
arrow.getStroke().setEndArrowLength(ArrowLength.LONG);
arrow.getStroke().setEndArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setDashStyle(DashStyle.DASH);
arrow.getStroke().setOpacity(0.5);
Assert.assertEquals(arrow.getStroke().getJoinStyle(), JoinStyle.MITER);
builder.insertNode(arrow);
// 2 - Thick black diagonal line with rounded ends:
Shape line = new Shape(doc, ShapeType.LINE);
line.setTop(40.0);
line.setWidth(200.0);
line.setHeight(20.0);
line.setStrokeWeight(5.0);
line.getStroke().setEndCap(EndCap.ROUND);
builder.insertNode(line);
// 3 - Arrow with a green fill:
Shape filledInArrow = new Shape(doc, ShapeType.ARROW);
filledInArrow.setWidth(200.0);
filledInArrow.setHeight(40.0);
filledInArrow.setTop(100.0);
filledInArrow.getFill().setForeColor(Color.GREEN);
filledInArrow.getFill().setVisible(true);
builder.insertNode(filledInArrow);
// 4 - Arrow with a flipped orientation filled in with the Aspose logo:
Shape filledInArrowImg = new Shape(doc, ShapeType.ARROW);
filledInArrowImg.setWidth(200.0);
filledInArrowImg.setHeight(40.0);
filledInArrowImg.setTop(160.0);
filledInArrowImg.setFlipOrientation(FlipOrientation.BOTH);
BufferedImage image = ImageIO.read(getAsposelogoUri().toURL().openStream());
Graphics2D graphics2D = image.createGraphics();
// 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.
AffineTransform at = new AffineTransform();
at.concatenate(AffineTransform.getScaleInstance(1, -1));
at.concatenate(AffineTransform.getTranslateInstance(0, -image.getHeight()));
graphics2D.transform(at);
graphics2D.drawImage(image, 0, 0, null);
graphics2D.dispose();
filledInArrowImg.getImageData().setImage(image);
builder.insertNode(filledInArrowImg);
doc.save(getArtifactsDir() + "Drawing.VariousShapes.docx");
Returns: double - The corresponding double value.
getPatternType()
public int getPatternType()
Returns: int
getPresetTexture()
public int getPresetTexture()
Returns: int
getRotateWithObject()
public boolean getRotateWithObject()
Returns: boolean
getStartArrowLength()
public int getStartArrowLength()
Defines the arrowhead length for the start of a stroke.
Remarks:
The default value is ArrowLength.MEDIUM.
Examples:
Shows to create a variety of shapes.
Document doc = new Document();
DocumentBuilder builder = new 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:
Shape arrow = new Shape(doc, ShapeType.LINE);
arrow.setWidth(200.0);
arrow.getStroke().setColor(Color.RED);
arrow.getStroke().setStartArrowType(ArrowType.ARROW);
arrow.getStroke().setStartArrowLength(ArrowLength.LONG);
arrow.getStroke().setStartArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setEndArrowType(ArrowType.DIAMOND);
arrow.getStroke().setEndArrowLength(ArrowLength.LONG);
arrow.getStroke().setEndArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setDashStyle(DashStyle.DASH);
arrow.getStroke().setOpacity(0.5);
Assert.assertEquals(arrow.getStroke().getJoinStyle(), JoinStyle.MITER);
builder.insertNode(arrow);
// 2 - Thick black diagonal line with rounded ends:
Shape line = new Shape(doc, ShapeType.LINE);
line.setTop(40.0);
line.setWidth(200.0);
line.setHeight(20.0);
line.setStrokeWeight(5.0);
line.getStroke().setEndCap(EndCap.ROUND);
builder.insertNode(line);
// 3 - Arrow with a green fill:
Shape filledInArrow = new Shape(doc, ShapeType.ARROW);
filledInArrow.setWidth(200.0);
filledInArrow.setHeight(40.0);
filledInArrow.setTop(100.0);
filledInArrow.getFill().setForeColor(Color.GREEN);
filledInArrow.getFill().setVisible(true);
builder.insertNode(filledInArrow);
// 4 - Arrow with a flipped orientation filled in with the Aspose logo:
Shape filledInArrowImg = new Shape(doc, ShapeType.ARROW);
filledInArrowImg.setWidth(200.0);
filledInArrowImg.setHeight(40.0);
filledInArrowImg.setTop(160.0);
filledInArrowImg.setFlipOrientation(FlipOrientation.BOTH);
BufferedImage image = ImageIO.read(getAsposelogoUri().toURL().openStream());
Graphics2D graphics2D = image.createGraphics();
// 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.
AffineTransform at = new AffineTransform();
at.concatenate(AffineTransform.getScaleInstance(1, -1));
at.concatenate(AffineTransform.getTranslateInstance(0, -image.getHeight()));
graphics2D.transform(at);
graphics2D.drawImage(image, 0, 0, null);
graphics2D.dispose();
filledInArrowImg.getImageData().setImage(image);
builder.insertNode(filledInArrowImg);
doc.save(getArtifactsDir() + "Drawing.VariousShapes.docx");
Returns: int - The corresponding int value. The returned value is one of ArrowLength constants.
getStartArrowType()
public int getStartArrowType()
Defines the arrowhead for the start of a stroke.
Remarks:
The default value is ArrowType.NONE.
Examples:
Shows to create a variety of shapes.
Document doc = new Document();
DocumentBuilder builder = new 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:
Shape arrow = new Shape(doc, ShapeType.LINE);
arrow.setWidth(200.0);
arrow.getStroke().setColor(Color.RED);
arrow.getStroke().setStartArrowType(ArrowType.ARROW);
arrow.getStroke().setStartArrowLength(ArrowLength.LONG);
arrow.getStroke().setStartArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setEndArrowType(ArrowType.DIAMOND);
arrow.getStroke().setEndArrowLength(ArrowLength.LONG);
arrow.getStroke().setEndArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setDashStyle(DashStyle.DASH);
arrow.getStroke().setOpacity(0.5);
Assert.assertEquals(arrow.getStroke().getJoinStyle(), JoinStyle.MITER);
builder.insertNode(arrow);
// 2 - Thick black diagonal line with rounded ends:
Shape line = new Shape(doc, ShapeType.LINE);
line.setTop(40.0);
line.setWidth(200.0);
line.setHeight(20.0);
line.setStrokeWeight(5.0);
line.getStroke().setEndCap(EndCap.ROUND);
builder.insertNode(line);
// 3 - Arrow with a green fill:
Shape filledInArrow = new Shape(doc, ShapeType.ARROW);
filledInArrow.setWidth(200.0);
filledInArrow.setHeight(40.0);
filledInArrow.setTop(100.0);
filledInArrow.getFill().setForeColor(Color.GREEN);
filledInArrow.getFill().setVisible(true);
builder.insertNode(filledInArrow);
// 4 - Arrow with a flipped orientation filled in with the Aspose logo:
Shape filledInArrowImg = new Shape(doc, ShapeType.ARROW);
filledInArrowImg.setWidth(200.0);
filledInArrowImg.setHeight(40.0);
filledInArrowImg.setTop(160.0);
filledInArrowImg.setFlipOrientation(FlipOrientation.BOTH);
BufferedImage image = ImageIO.read(getAsposelogoUri().toURL().openStream());
Graphics2D graphics2D = image.createGraphics();
// 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.
AffineTransform at = new AffineTransform();
at.concatenate(AffineTransform.getScaleInstance(1, -1));
at.concatenate(AffineTransform.getTranslateInstance(0, -image.getHeight()));
graphics2D.transform(at);
graphics2D.drawImage(image, 0, 0, null);
graphics2D.dispose();
filledInArrowImg.getImageData().setImage(image);
builder.insertNode(filledInArrowImg);
doc.save(getArtifactsDir() + "Drawing.VariousShapes.docx");
Returns: int - The corresponding int value. The returned value is one of ArrowType constants.
getStartArrowWidth()
public int getStartArrowWidth()
Defines the arrowhead width for the start of a stroke.
Remarks:
The default value is ArrowWidth.MEDIUM.
Examples:
Shows to create a variety of shapes.
Document doc = new Document();
DocumentBuilder builder = new 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:
Shape arrow = new Shape(doc, ShapeType.LINE);
arrow.setWidth(200.0);
arrow.getStroke().setColor(Color.RED);
arrow.getStroke().setStartArrowType(ArrowType.ARROW);
arrow.getStroke().setStartArrowLength(ArrowLength.LONG);
arrow.getStroke().setStartArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setEndArrowType(ArrowType.DIAMOND);
arrow.getStroke().setEndArrowLength(ArrowLength.LONG);
arrow.getStroke().setEndArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setDashStyle(DashStyle.DASH);
arrow.getStroke().setOpacity(0.5);
Assert.assertEquals(arrow.getStroke().getJoinStyle(), JoinStyle.MITER);
builder.insertNode(arrow);
// 2 - Thick black diagonal line with rounded ends:
Shape line = new Shape(doc, ShapeType.LINE);
line.setTop(40.0);
line.setWidth(200.0);
line.setHeight(20.0);
line.setStrokeWeight(5.0);
line.getStroke().setEndCap(EndCap.ROUND);
builder.insertNode(line);
// 3 - Arrow with a green fill:
Shape filledInArrow = new Shape(doc, ShapeType.ARROW);
filledInArrow.setWidth(200.0);
filledInArrow.setHeight(40.0);
filledInArrow.setTop(100.0);
filledInArrow.getFill().setForeColor(Color.GREEN);
filledInArrow.getFill().setVisible(true);
builder.insertNode(filledInArrow);
// 4 - Arrow with a flipped orientation filled in with the Aspose logo:
Shape filledInArrowImg = new Shape(doc, ShapeType.ARROW);
filledInArrowImg.setWidth(200.0);
filledInArrowImg.setHeight(40.0);
filledInArrowImg.setTop(160.0);
filledInArrowImg.setFlipOrientation(FlipOrientation.BOTH);
BufferedImage image = ImageIO.read(getAsposelogoUri().toURL().openStream());
Graphics2D graphics2D = image.createGraphics();
// 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.
AffineTransform at = new AffineTransform();
at.concatenate(AffineTransform.getScaleInstance(1, -1));
at.concatenate(AffineTransform.getTranslateInstance(0, -image.getHeight()));
graphics2D.transform(at);
graphics2D.drawImage(image, 0, 0, null);
graphics2D.dispose();
filledInArrowImg.getImageData().setImage(image);
builder.insertNode(filledInArrowImg);
doc.save(getArtifactsDir() + "Drawing.VariousShapes.docx");
Returns: int - The corresponding int value. The returned value is one of ArrowWidth constants.
getTextureAlignment()
public int getTextureAlignment()
Returns: int
getTransparency()
public double getTransparency()
Gets a value between 0.0 (opaque) and 1.0 (clear) representing the degree of transparency of the stroke.
Remarks:
The default value is 0.
Examples:
Show how to set marker formatting.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.insertChart(ChartType.SCATTER, 432.0, 252.0);
Chart chart = shape.getChart();
// Delete default generated series.
chart.getSeries().clear();
ChartSeries series = chart.getSeries().add("AW Series 1", new double[] { 0.7, 1.8, 2.6, 3.9 },
new double[] { 2.7, 3.2, 0.8, 1.7 });
// Set marker formatting.
series.getMarker().setSize(40);
series.getMarker().setSymbol(MarkerSymbol.SQUARE);
ChartDataPointCollection dataPoints = series.getDataPoints();
dataPoints.get(0).getMarker().getFormat().getFill().presetTextured(PresetTexture.DENIM);
dataPoints.get(0).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(0).getMarker().getFormat().getStroke().setBackColor(Color.RED);
dataPoints.get(1).getMarker().getFormat().getFill().presetTextured(PresetTexture.WATER_DROPLETS);
dataPoints.get(1).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(1).getMarker().getFormat().getStroke().setVisible(false);
dataPoints.get(2).getMarker().getFormat().getFill().presetTextured(PresetTexture.GREEN_MARBLE);
dataPoints.get(2).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(3).getMarker().getFormat().getFill().presetTextured(PresetTexture.OAK);
dataPoints.get(3).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(3).getMarker().getFormat().getStroke().setTransparency(0.5);
doc.save(getArtifactsDir() + "Charts.MarkerFormatting.docx");
Returns: double - A value between 0.0 (opaque) and 1.0 (clear) representing the degree of transparency of the stroke.
getVisible()
public boolean getVisible()
Gets a flag indicating whether the stroke is visible.
Remarks:
The default value for a Shape is true .
Examples:
Show how to set marker formatting.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.insertChart(ChartType.SCATTER, 432.0, 252.0);
Chart chart = shape.getChart();
// Delete default generated series.
chart.getSeries().clear();
ChartSeries series = chart.getSeries().add("AW Series 1", new double[] { 0.7, 1.8, 2.6, 3.9 },
new double[] { 2.7, 3.2, 0.8, 1.7 });
// Set marker formatting.
series.getMarker().setSize(40);
series.getMarker().setSymbol(MarkerSymbol.SQUARE);
ChartDataPointCollection dataPoints = series.getDataPoints();
dataPoints.get(0).getMarker().getFormat().getFill().presetTextured(PresetTexture.DENIM);
dataPoints.get(0).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(0).getMarker().getFormat().getStroke().setBackColor(Color.RED);
dataPoints.get(1).getMarker().getFormat().getFill().presetTextured(PresetTexture.WATER_DROPLETS);
dataPoints.get(1).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(1).getMarker().getFormat().getStroke().setVisible(false);
dataPoints.get(2).getMarker().getFormat().getFill().presetTextured(PresetTexture.GREEN_MARBLE);
dataPoints.get(2).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(3).getMarker().getFormat().getFill().presetTextured(PresetTexture.OAK);
dataPoints.get(3).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(3).getMarker().getFormat().getStroke().setTransparency(0.5);
doc.save(getArtifactsDir() + "Charts.MarkerFormatting.docx");
Returns: boolean - A flag indicating whether the stroke is visible.
getWeight()
public double getWeight()
Defines the brush thickness that strokes the path of a shape in points.
Remarks:
The default value for a Shape is 0.75.
Examples:
Shows how change stroke properties.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.insertShape(ShapeType.RECTANGLE, RelativeHorizontalPosition.LEFT_MARGIN, 100.0,
RelativeVerticalPosition.TOP_MARGIN, 100.0, 200.0, 200.0, WrapType.NONE);
// Basic shapes, such as the rectangle, have two visible parts.
// 1 - The fill, which applies to the area within the outline of the shape:
shape.getFill().setForeColor(Color.WHITE);
// 2 - The stroke, which marks the outline of the shape:
// Modify various properties of this shape's stroke.
Stroke stroke = shape.getStroke();
stroke.setOn(true);
stroke.setWeight(5.0);
stroke.setColor(Color.RED);
stroke.setDashStyle(DashStyle.SHORT_DASH_DOT_DOT);
stroke.setJoinStyle(JoinStyle.MITER);
stroke.setEndCap(EndCap.SQUARE);
stroke.setLineStyle(ShapeLineStyle.TRIPLE);
stroke.getFill().twoColorGradient(Color.RED, Color.BLUE, GradientStyle.VERTICAL, GradientVariant.VARIANT_1);
doc.save(getArtifactsDir() + "Shape.Stroke.docx");
Returns: double - The corresponding double value.
oneColorGradient(int style, int variant, double degree)
public void oneColorGradient(int style, int variant, double degree)
Parameters:
Parameter | Type | Description |
---|---|---|
style | int | |
variant | int | |
degree | double |
patterned(int patternType)
public void patterned(int patternType)
Parameters:
Parameter | Type | Description |
---|---|---|
patternType | int |
presetTextured(int presetTexture)
public void presetTextured(int presetTexture)
Parameters:
Parameter | Type | Description |
---|---|---|
presetTexture | int |
setBackColor(Color value)
public void setBackColor(Color value)
Sets the background color of the stroke.
Remarks:
The default value for a Shape is java.awt.Color#getWhite().getWhite().
Examples:
Show how to set marker formatting.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.insertChart(ChartType.SCATTER, 432.0, 252.0);
Chart chart = shape.getChart();
// Delete default generated series.
chart.getSeries().clear();
ChartSeries series = chart.getSeries().add("AW Series 1", new double[] { 0.7, 1.8, 2.6, 3.9 },
new double[] { 2.7, 3.2, 0.8, 1.7 });
// Set marker formatting.
series.getMarker().setSize(40);
series.getMarker().setSymbol(MarkerSymbol.SQUARE);
ChartDataPointCollection dataPoints = series.getDataPoints();
dataPoints.get(0).getMarker().getFormat().getFill().presetTextured(PresetTexture.DENIM);
dataPoints.get(0).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(0).getMarker().getFormat().getStroke().setBackColor(Color.RED);
dataPoints.get(1).getMarker().getFormat().getFill().presetTextured(PresetTexture.WATER_DROPLETS);
dataPoints.get(1).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(1).getMarker().getFormat().getStroke().setVisible(false);
dataPoints.get(2).getMarker().getFormat().getFill().presetTextured(PresetTexture.GREEN_MARBLE);
dataPoints.get(2).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(3).getMarker().getFormat().getFill().presetTextured(PresetTexture.OAK);
dataPoints.get(3).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(3).getMarker().getFormat().getStroke().setTransparency(0.5);
doc.save(getArtifactsDir() + "Charts.MarkerFormatting.docx");
Parameters:
Parameter | Type | Description |
---|---|---|
value | java.awt.Color | The background color of the stroke. |
setBackThemeColor(int value)
public void setBackThemeColor(int value)
Sets a ThemeColor object that represents the stroke background color.
Examples:
Shows how to set back theme color and tint and shade.
Document doc = new Document(getMyDir() + "Stroke gradient outline.docx");
Shape shape = (Shape)doc.getChild(NodeType.SHAPE, 0, true);
Stroke stroke = shape.getStroke();
stroke.setBackThemeColor(ThemeColor.DARK_2);
stroke.setBackTintAndShade(0.2d);
doc.save(getArtifactsDir() + "Shape.StrokeBackThemeColors.docx");
Parameters:
Parameter | Type | Description |
---|---|---|
value | int | A ThemeColor object that represents the stroke background color. The value must be one of ThemeColor constants. |
setBackTintAndShade(double value)
public void setBackTintAndShade(double value)
Sets a double value that lightens or darkens the stroke background color.
Remarks:
The allowed values are within the range from -1 (the darkest) to 1 (the lightest) for this property. Zero (0) is neutral. Attempting to set this property to a value less than -1 or more than 1 results in java.lang.IllegalArgumentException.
Examples:
Shows how to set back theme color and tint and shade.
Document doc = new Document(getMyDir() + "Stroke gradient outline.docx");
Shape shape = (Shape)doc.getChild(NodeType.SHAPE, 0, true);
Stroke stroke = shape.getStroke();
stroke.setBackThemeColor(ThemeColor.DARK_2);
stroke.setBackTintAndShade(0.2d);
doc.save(getArtifactsDir() + "Shape.StrokeBackThemeColors.docx");
Parameters:
Parameter | Type | Description |
---|---|---|
value | double | A double value that lightens or darkens the stroke background color. |
setColor(Color value)
public void setColor(Color value)
Defines the color of a stroke.
Remarks:
The default value for a Shape is java.awt.Color#getBlack().getBlack().
Examples:
Shows to create a variety of shapes.
Document doc = new Document();
DocumentBuilder builder = new 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:
Shape arrow = new Shape(doc, ShapeType.LINE);
arrow.setWidth(200.0);
arrow.getStroke().setColor(Color.RED);
arrow.getStroke().setStartArrowType(ArrowType.ARROW);
arrow.getStroke().setStartArrowLength(ArrowLength.LONG);
arrow.getStroke().setStartArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setEndArrowType(ArrowType.DIAMOND);
arrow.getStroke().setEndArrowLength(ArrowLength.LONG);
arrow.getStroke().setEndArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setDashStyle(DashStyle.DASH);
arrow.getStroke().setOpacity(0.5);
Assert.assertEquals(arrow.getStroke().getJoinStyle(), JoinStyle.MITER);
builder.insertNode(arrow);
// 2 - Thick black diagonal line with rounded ends:
Shape line = new Shape(doc, ShapeType.LINE);
line.setTop(40.0);
line.setWidth(200.0);
line.setHeight(20.0);
line.setStrokeWeight(5.0);
line.getStroke().setEndCap(EndCap.ROUND);
builder.insertNode(line);
// 3 - Arrow with a green fill:
Shape filledInArrow = new Shape(doc, ShapeType.ARROW);
filledInArrow.setWidth(200.0);
filledInArrow.setHeight(40.0);
filledInArrow.setTop(100.0);
filledInArrow.getFill().setForeColor(Color.GREEN);
filledInArrow.getFill().setVisible(true);
builder.insertNode(filledInArrow);
// 4 - Arrow with a flipped orientation filled in with the Aspose logo:
Shape filledInArrowImg = new Shape(doc, ShapeType.ARROW);
filledInArrowImg.setWidth(200.0);
filledInArrowImg.setHeight(40.0);
filledInArrowImg.setTop(160.0);
filledInArrowImg.setFlipOrientation(FlipOrientation.BOTH);
BufferedImage image = ImageIO.read(getAsposelogoUri().toURL().openStream());
Graphics2D graphics2D = image.createGraphics();
// 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.
AffineTransform at = new AffineTransform();
at.concatenate(AffineTransform.getScaleInstance(1, -1));
at.concatenate(AffineTransform.getTranslateInstance(0, -image.getHeight()));
graphics2D.transform(at);
graphics2D.drawImage(image, 0, 0, null);
graphics2D.dispose();
filledInArrowImg.getImageData().setImage(image);
builder.insertNode(filledInArrowImg);
doc.save(getArtifactsDir() + "Drawing.VariousShapes.docx");
Parameters:
Parameter | Type | Description |
---|---|---|
value | java.awt.Color | The corresponding java.awt.Color value. |
setColor2(Color value)
public void setColor2(Color value)
Defines a second color for a stroke.
Remarks:
The default value for a Shape is java.awt.Color#getWhite().getWhite().
Examples:
Shows how to process shape stroke features.
Document doc = new Document(getMyDir() + "Shape stroke pattern border.docx");
Shape shape = (Shape) doc.getChild(NodeType.SHAPE, 0, true);
Stroke stroke = shape.getStroke();
// Strokes can have two colors, which are used to create a pattern defined by two-tone image data.
// Strokes with a single color do not use the Color2 property.
Assert.assertEquals(new Color((128), (0), (0), (255)), stroke.getColor());
Assert.assertEquals(new Color((255), (255), (0), (255)), stroke.getColor2());
Assert.assertNotNull(stroke.getImageBytes());
FileUtils.writeByteArrayToFile(new File(getArtifactsDir() + "Drawing.StrokePattern.png"), stroke.getImageBytes());
Parameters:
Parameter | Type | Description |
---|---|---|
value | java.awt.Color | The corresponding java.awt.Color value. |
setDashStyle(int value)
public void setDashStyle(int value)
Specifies the dot and dash pattern for a stroke.
Remarks:
The default value is DashStyle.SOLID.
Examples:
Shows to create a variety of shapes.
Document doc = new Document();
DocumentBuilder builder = new 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:
Shape arrow = new Shape(doc, ShapeType.LINE);
arrow.setWidth(200.0);
arrow.getStroke().setColor(Color.RED);
arrow.getStroke().setStartArrowType(ArrowType.ARROW);
arrow.getStroke().setStartArrowLength(ArrowLength.LONG);
arrow.getStroke().setStartArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setEndArrowType(ArrowType.DIAMOND);
arrow.getStroke().setEndArrowLength(ArrowLength.LONG);
arrow.getStroke().setEndArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setDashStyle(DashStyle.DASH);
arrow.getStroke().setOpacity(0.5);
Assert.assertEquals(arrow.getStroke().getJoinStyle(), JoinStyle.MITER);
builder.insertNode(arrow);
// 2 - Thick black diagonal line with rounded ends:
Shape line = new Shape(doc, ShapeType.LINE);
line.setTop(40.0);
line.setWidth(200.0);
line.setHeight(20.0);
line.setStrokeWeight(5.0);
line.getStroke().setEndCap(EndCap.ROUND);
builder.insertNode(line);
// 3 - Arrow with a green fill:
Shape filledInArrow = new Shape(doc, ShapeType.ARROW);
filledInArrow.setWidth(200.0);
filledInArrow.setHeight(40.0);
filledInArrow.setTop(100.0);
filledInArrow.getFill().setForeColor(Color.GREEN);
filledInArrow.getFill().setVisible(true);
builder.insertNode(filledInArrow);
// 4 - Arrow with a flipped orientation filled in with the Aspose logo:
Shape filledInArrowImg = new Shape(doc, ShapeType.ARROW);
filledInArrowImg.setWidth(200.0);
filledInArrowImg.setHeight(40.0);
filledInArrowImg.setTop(160.0);
filledInArrowImg.setFlipOrientation(FlipOrientation.BOTH);
BufferedImage image = ImageIO.read(getAsposelogoUri().toURL().openStream());
Graphics2D graphics2D = image.createGraphics();
// 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.
AffineTransform at = new AffineTransform();
at.concatenate(AffineTransform.getScaleInstance(1, -1));
at.concatenate(AffineTransform.getTranslateInstance(0, -image.getHeight()));
graphics2D.transform(at);
graphics2D.drawImage(image, 0, 0, null);
graphics2D.dispose();
filledInArrowImg.getImageData().setImage(image);
builder.insertNode(filledInArrowImg);
doc.save(getArtifactsDir() + "Drawing.VariousShapes.docx");
Parameters:
Parameter | Type | Description |
---|---|---|
value | int | The corresponding int value. The value must be one of DashStyle constants. |
setEndArrowLength(int value)
public void setEndArrowLength(int value)
Defines the arrowhead length for the end of a stroke.
Remarks:
The default value is ArrowLength.MEDIUM.
Examples:
Shows to create a variety of shapes.
Document doc = new Document();
DocumentBuilder builder = new 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:
Shape arrow = new Shape(doc, ShapeType.LINE);
arrow.setWidth(200.0);
arrow.getStroke().setColor(Color.RED);
arrow.getStroke().setStartArrowType(ArrowType.ARROW);
arrow.getStroke().setStartArrowLength(ArrowLength.LONG);
arrow.getStroke().setStartArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setEndArrowType(ArrowType.DIAMOND);
arrow.getStroke().setEndArrowLength(ArrowLength.LONG);
arrow.getStroke().setEndArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setDashStyle(DashStyle.DASH);
arrow.getStroke().setOpacity(0.5);
Assert.assertEquals(arrow.getStroke().getJoinStyle(), JoinStyle.MITER);
builder.insertNode(arrow);
// 2 - Thick black diagonal line with rounded ends:
Shape line = new Shape(doc, ShapeType.LINE);
line.setTop(40.0);
line.setWidth(200.0);
line.setHeight(20.0);
line.setStrokeWeight(5.0);
line.getStroke().setEndCap(EndCap.ROUND);
builder.insertNode(line);
// 3 - Arrow with a green fill:
Shape filledInArrow = new Shape(doc, ShapeType.ARROW);
filledInArrow.setWidth(200.0);
filledInArrow.setHeight(40.0);
filledInArrow.setTop(100.0);
filledInArrow.getFill().setForeColor(Color.GREEN);
filledInArrow.getFill().setVisible(true);
builder.insertNode(filledInArrow);
// 4 - Arrow with a flipped orientation filled in with the Aspose logo:
Shape filledInArrowImg = new Shape(doc, ShapeType.ARROW);
filledInArrowImg.setWidth(200.0);
filledInArrowImg.setHeight(40.0);
filledInArrowImg.setTop(160.0);
filledInArrowImg.setFlipOrientation(FlipOrientation.BOTH);
BufferedImage image = ImageIO.read(getAsposelogoUri().toURL().openStream());
Graphics2D graphics2D = image.createGraphics();
// 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.
AffineTransform at = new AffineTransform();
at.concatenate(AffineTransform.getScaleInstance(1, -1));
at.concatenate(AffineTransform.getTranslateInstance(0, -image.getHeight()));
graphics2D.transform(at);
graphics2D.drawImage(image, 0, 0, null);
graphics2D.dispose();
filledInArrowImg.getImageData().setImage(image);
builder.insertNode(filledInArrowImg);
doc.save(getArtifactsDir() + "Drawing.VariousShapes.docx");
Parameters:
Parameter | Type | Description |
---|---|---|
value | int | The corresponding int value. The value must be one of ArrowLength constants. |
setEndArrowType(int value)
public void setEndArrowType(int value)
Defines the arrowhead for the end of a stroke.
Remarks:
The default value is ArrowType.NONE.
Examples:
Shows to create a variety of shapes.
Document doc = new Document();
DocumentBuilder builder = new 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:
Shape arrow = new Shape(doc, ShapeType.LINE);
arrow.setWidth(200.0);
arrow.getStroke().setColor(Color.RED);
arrow.getStroke().setStartArrowType(ArrowType.ARROW);
arrow.getStroke().setStartArrowLength(ArrowLength.LONG);
arrow.getStroke().setStartArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setEndArrowType(ArrowType.DIAMOND);
arrow.getStroke().setEndArrowLength(ArrowLength.LONG);
arrow.getStroke().setEndArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setDashStyle(DashStyle.DASH);
arrow.getStroke().setOpacity(0.5);
Assert.assertEquals(arrow.getStroke().getJoinStyle(), JoinStyle.MITER);
builder.insertNode(arrow);
// 2 - Thick black diagonal line with rounded ends:
Shape line = new Shape(doc, ShapeType.LINE);
line.setTop(40.0);
line.setWidth(200.0);
line.setHeight(20.0);
line.setStrokeWeight(5.0);
line.getStroke().setEndCap(EndCap.ROUND);
builder.insertNode(line);
// 3 - Arrow with a green fill:
Shape filledInArrow = new Shape(doc, ShapeType.ARROW);
filledInArrow.setWidth(200.0);
filledInArrow.setHeight(40.0);
filledInArrow.setTop(100.0);
filledInArrow.getFill().setForeColor(Color.GREEN);
filledInArrow.getFill().setVisible(true);
builder.insertNode(filledInArrow);
// 4 - Arrow with a flipped orientation filled in with the Aspose logo:
Shape filledInArrowImg = new Shape(doc, ShapeType.ARROW);
filledInArrowImg.setWidth(200.0);
filledInArrowImg.setHeight(40.0);
filledInArrowImg.setTop(160.0);
filledInArrowImg.setFlipOrientation(FlipOrientation.BOTH);
BufferedImage image = ImageIO.read(getAsposelogoUri().toURL().openStream());
Graphics2D graphics2D = image.createGraphics();
// 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.
AffineTransform at = new AffineTransform();
at.concatenate(AffineTransform.getScaleInstance(1, -1));
at.concatenate(AffineTransform.getTranslateInstance(0, -image.getHeight()));
graphics2D.transform(at);
graphics2D.drawImage(image, 0, 0, null);
graphics2D.dispose();
filledInArrowImg.getImageData().setImage(image);
builder.insertNode(filledInArrowImg);
doc.save(getArtifactsDir() + "Drawing.VariousShapes.docx");
Parameters:
Parameter | Type | Description |
---|---|---|
value | int | The corresponding int value. The value must be one of ArrowType constants. |
setEndArrowWidth(int value)
public void setEndArrowWidth(int value)
Defines the arrowhead width for the end of a stroke.
Remarks:
The default value is ArrowWidth.MEDIUM.
Examples:
Shows to create a variety of shapes.
Document doc = new Document();
DocumentBuilder builder = new 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:
Shape arrow = new Shape(doc, ShapeType.LINE);
arrow.setWidth(200.0);
arrow.getStroke().setColor(Color.RED);
arrow.getStroke().setStartArrowType(ArrowType.ARROW);
arrow.getStroke().setStartArrowLength(ArrowLength.LONG);
arrow.getStroke().setStartArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setEndArrowType(ArrowType.DIAMOND);
arrow.getStroke().setEndArrowLength(ArrowLength.LONG);
arrow.getStroke().setEndArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setDashStyle(DashStyle.DASH);
arrow.getStroke().setOpacity(0.5);
Assert.assertEquals(arrow.getStroke().getJoinStyle(), JoinStyle.MITER);
builder.insertNode(arrow);
// 2 - Thick black diagonal line with rounded ends:
Shape line = new Shape(doc, ShapeType.LINE);
line.setTop(40.0);
line.setWidth(200.0);
line.setHeight(20.0);
line.setStrokeWeight(5.0);
line.getStroke().setEndCap(EndCap.ROUND);
builder.insertNode(line);
// 3 - Arrow with a green fill:
Shape filledInArrow = new Shape(doc, ShapeType.ARROW);
filledInArrow.setWidth(200.0);
filledInArrow.setHeight(40.0);
filledInArrow.setTop(100.0);
filledInArrow.getFill().setForeColor(Color.GREEN);
filledInArrow.getFill().setVisible(true);
builder.insertNode(filledInArrow);
// 4 - Arrow with a flipped orientation filled in with the Aspose logo:
Shape filledInArrowImg = new Shape(doc, ShapeType.ARROW);
filledInArrowImg.setWidth(200.0);
filledInArrowImg.setHeight(40.0);
filledInArrowImg.setTop(160.0);
filledInArrowImg.setFlipOrientation(FlipOrientation.BOTH);
BufferedImage image = ImageIO.read(getAsposelogoUri().toURL().openStream());
Graphics2D graphics2D = image.createGraphics();
// 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.
AffineTransform at = new AffineTransform();
at.concatenate(AffineTransform.getScaleInstance(1, -1));
at.concatenate(AffineTransform.getTranslateInstance(0, -image.getHeight()));
graphics2D.transform(at);
graphics2D.drawImage(image, 0, 0, null);
graphics2D.dispose();
filledInArrowImg.getImageData().setImage(image);
builder.insertNode(filledInArrowImg);
doc.save(getArtifactsDir() + "Drawing.VariousShapes.docx");
Parameters:
Parameter | Type | Description |
---|---|---|
value | int | The corresponding int value. The value must be one of ArrowWidth constants. |
setEndCap(int value)
public void setEndCap(int value)
Defines the cap style for the end of a stroke.
Remarks:
The default value is EndCap.FLAT.
Examples:
Shows to create a variety of shapes.
Document doc = new Document();
DocumentBuilder builder = new 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:
Shape arrow = new Shape(doc, ShapeType.LINE);
arrow.setWidth(200.0);
arrow.getStroke().setColor(Color.RED);
arrow.getStroke().setStartArrowType(ArrowType.ARROW);
arrow.getStroke().setStartArrowLength(ArrowLength.LONG);
arrow.getStroke().setStartArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setEndArrowType(ArrowType.DIAMOND);
arrow.getStroke().setEndArrowLength(ArrowLength.LONG);
arrow.getStroke().setEndArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setDashStyle(DashStyle.DASH);
arrow.getStroke().setOpacity(0.5);
Assert.assertEquals(arrow.getStroke().getJoinStyle(), JoinStyle.MITER);
builder.insertNode(arrow);
// 2 - Thick black diagonal line with rounded ends:
Shape line = new Shape(doc, ShapeType.LINE);
line.setTop(40.0);
line.setWidth(200.0);
line.setHeight(20.0);
line.setStrokeWeight(5.0);
line.getStroke().setEndCap(EndCap.ROUND);
builder.insertNode(line);
// 3 - Arrow with a green fill:
Shape filledInArrow = new Shape(doc, ShapeType.ARROW);
filledInArrow.setWidth(200.0);
filledInArrow.setHeight(40.0);
filledInArrow.setTop(100.0);
filledInArrow.getFill().setForeColor(Color.GREEN);
filledInArrow.getFill().setVisible(true);
builder.insertNode(filledInArrow);
// 4 - Arrow with a flipped orientation filled in with the Aspose logo:
Shape filledInArrowImg = new Shape(doc, ShapeType.ARROW);
filledInArrowImg.setWidth(200.0);
filledInArrowImg.setHeight(40.0);
filledInArrowImg.setTop(160.0);
filledInArrowImg.setFlipOrientation(FlipOrientation.BOTH);
BufferedImage image = ImageIO.read(getAsposelogoUri().toURL().openStream());
Graphics2D graphics2D = image.createGraphics();
// 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.
AffineTransform at = new AffineTransform();
at.concatenate(AffineTransform.getScaleInstance(1, -1));
at.concatenate(AffineTransform.getTranslateInstance(0, -image.getHeight()));
graphics2D.transform(at);
graphics2D.drawImage(image, 0, 0, null);
graphics2D.dispose();
filledInArrowImg.getImageData().setImage(image);
builder.insertNode(filledInArrowImg);
doc.save(getArtifactsDir() + "Drawing.VariousShapes.docx");
Parameters:
Parameter | Type | Description |
---|---|---|
value | int | The corresponding int value. The value must be one of EndCap constants. |
setFillableBackColor(Color value)
public void setFillableBackColor(Color value)
Parameters:
Parameter | Type | Description |
---|---|---|
value | java.awt.Color |
setFillableBackThemeColor(int value)
public void setFillableBackThemeColor(int value)
Parameters:
Parameter | Type | Description |
---|---|---|
value | int |
setFillableBackTintAndShade(double value)
public void setFillableBackTintAndShade(double value)
Parameters:
Parameter | Type | Description |
---|---|---|
value | double |
setFillableForeColor(Color value)
public void setFillableForeColor(Color value)
Parameters:
Parameter | Type | Description |
---|---|---|
value | java.awt.Color |
setFillableForeThemeColor(int value)
public void setFillableForeThemeColor(int value)
Parameters:
Parameter | Type | Description |
---|---|---|
value | int |
setFillableForeTintAndShade(double value)
public void setFillableForeTintAndShade(double value)
Parameters:
Parameter | Type | Description |
---|---|---|
value | double |
setFillableTransparency(double value)
public void setFillableTransparency(double value)
Parameters:
Parameter | Type | Description |
---|---|---|
value | double |
setFillableVisible(boolean value)
public void setFillableVisible(boolean value)
Parameters:
Parameter | Type | Description |
---|---|---|
value | boolean |
setFilledColor(Color value)
public void setFilledColor(Color value)
Parameters:
Parameter | Type | Description |
---|---|---|
value | java.awt.Color |
setForeColor(Color value)
public void setForeColor(Color value)
Sets the foreground color of the stroke.
Remarks:
The default value for a Shape is java.awt.Color#getBlack().getBlack().
Examples:
Show how to set marker formatting.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.insertChart(ChartType.SCATTER, 432.0, 252.0);
Chart chart = shape.getChart();
// Delete default generated series.
chart.getSeries().clear();
ChartSeries series = chart.getSeries().add("AW Series 1", new double[] { 0.7, 1.8, 2.6, 3.9 },
new double[] { 2.7, 3.2, 0.8, 1.7 });
// Set marker formatting.
series.getMarker().setSize(40);
series.getMarker().setSymbol(MarkerSymbol.SQUARE);
ChartDataPointCollection dataPoints = series.getDataPoints();
dataPoints.get(0).getMarker().getFormat().getFill().presetTextured(PresetTexture.DENIM);
dataPoints.get(0).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(0).getMarker().getFormat().getStroke().setBackColor(Color.RED);
dataPoints.get(1).getMarker().getFormat().getFill().presetTextured(PresetTexture.WATER_DROPLETS);
dataPoints.get(1).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(1).getMarker().getFormat().getStroke().setVisible(false);
dataPoints.get(2).getMarker().getFormat().getFill().presetTextured(PresetTexture.GREEN_MARBLE);
dataPoints.get(2).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(3).getMarker().getFormat().getFill().presetTextured(PresetTexture.OAK);
dataPoints.get(3).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(3).getMarker().getFormat().getStroke().setTransparency(0.5);
doc.save(getArtifactsDir() + "Charts.MarkerFormatting.docx");
Parameters:
Parameter | Type | Description |
---|---|---|
value | java.awt.Color | The foreground color of the stroke. |
setForeThemeColor(int value)
public void setForeThemeColor(int value)
Sets a ThemeColor object that represents the stroke foreground color.
Examples:
Shows how to set fore theme color and tint and shade.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.insertShape(ShapeType.TEXT_BOX, 100.0, 40.0);
Stroke stroke = shape.getStroke();
stroke.setForeThemeColor(ThemeColor.DARK_1);
stroke.setForeTintAndShade(0.5);
doc.save(getArtifactsDir() + "Shape.StrokeForeThemeColors.docx");
Parameters:
Parameter | Type | Description |
---|---|---|
value | int | A ThemeColor object that represents the stroke foreground color. The value must be one of ThemeColor constants. |
setForeTintAndShade(double value)
public void setForeTintAndShade(double value)
Sets a double value that lightens or darkens the stroke foreground color.
Remarks:
The allowed values are within the range from -1 (the darkest) to 1 (the lightest) for this property. Zero (0) is neutral. Attempting to set this property to a value less than -1 or more than 1 results in java.lang.IllegalArgumentException.
Examples:
Shows how to set fore theme color and tint and shade.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.insertShape(ShapeType.TEXT_BOX, 100.0, 40.0);
Stroke stroke = shape.getStroke();
stroke.setForeThemeColor(ThemeColor.DARK_1);
stroke.setForeTintAndShade(0.5);
doc.save(getArtifactsDir() + "Shape.StrokeForeThemeColors.docx");
Parameters:
Parameter | Type | Description |
---|---|---|
value | double | A double value that lightens or darkens the stroke foreground color. |
setGradientAngle(double value)
public void setGradientAngle(double value)
Parameters:
Parameter | Type | Description |
---|---|---|
value | double |
setImage(byte[] imageBytes)
public void setImage(byte[] imageBytes)
Parameters:
Parameter | Type | Description |
---|---|---|
imageBytes | byte[] |
setJoinStyle(int value)
public void setJoinStyle(int value)
Defines the join style of a polyline.
Remarks:
The default value is JoinStyle.ROUND.
Examples:
Shows how change stroke properties.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.insertShape(ShapeType.RECTANGLE, RelativeHorizontalPosition.LEFT_MARGIN, 100.0,
RelativeVerticalPosition.TOP_MARGIN, 100.0, 200.0, 200.0, WrapType.NONE);
// Basic shapes, such as the rectangle, have two visible parts.
// 1 - The fill, which applies to the area within the outline of the shape:
shape.getFill().setForeColor(Color.WHITE);
// 2 - The stroke, which marks the outline of the shape:
// Modify various properties of this shape's stroke.
Stroke stroke = shape.getStroke();
stroke.setOn(true);
stroke.setWeight(5.0);
stroke.setColor(Color.RED);
stroke.setDashStyle(DashStyle.SHORT_DASH_DOT_DOT);
stroke.setJoinStyle(JoinStyle.MITER);
stroke.setEndCap(EndCap.SQUARE);
stroke.setLineStyle(ShapeLineStyle.TRIPLE);
stroke.getFill().twoColorGradient(Color.RED, Color.BLUE, GradientStyle.VERTICAL, GradientVariant.VARIANT_1);
doc.save(getArtifactsDir() + "Shape.Stroke.docx");
Parameters:
Parameter | Type | Description |
---|---|---|
value | int | The corresponding int value. The value must be one of JoinStyle constants. |
setLineStyle(int value)
public void setLineStyle(int value)
Defines the line style of the stroke.
Remarks:
The default value is ShapeLineStyle.SINGLE.
Examples:
Shows how change stroke properties.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.insertShape(ShapeType.RECTANGLE, RelativeHorizontalPosition.LEFT_MARGIN, 100.0,
RelativeVerticalPosition.TOP_MARGIN, 100.0, 200.0, 200.0, WrapType.NONE);
// Basic shapes, such as the rectangle, have two visible parts.
// 1 - The fill, which applies to the area within the outline of the shape:
shape.getFill().setForeColor(Color.WHITE);
// 2 - The stroke, which marks the outline of the shape:
// Modify various properties of this shape's stroke.
Stroke stroke = shape.getStroke();
stroke.setOn(true);
stroke.setWeight(5.0);
stroke.setColor(Color.RED);
stroke.setDashStyle(DashStyle.SHORT_DASH_DOT_DOT);
stroke.setJoinStyle(JoinStyle.MITER);
stroke.setEndCap(EndCap.SQUARE);
stroke.setLineStyle(ShapeLineStyle.TRIPLE);
stroke.getFill().twoColorGradient(Color.RED, Color.BLUE, GradientStyle.VERTICAL, GradientVariant.VARIANT_1);
doc.save(getArtifactsDir() + "Shape.Stroke.docx");
Parameters:
Parameter | Type | Description |
---|---|---|
value | int | The corresponding int value. The value must be one of ShapeLineStyle constants. |
setOldOn(boolean value)
public void setOldOn(boolean value)
Parameters:
Parameter | Type | Description |
---|---|---|
value | boolean |
setOldOpacity(double value)
public void setOldOpacity(double value)
Parameters:
Parameter | Type | Description |
---|---|---|
value | double |
setOn(boolean value)
public void setOn(boolean value)
Defines whether the path will be stroked.
Remarks:
The default value for a Shape is true .
Examples:
Shows how change stroke properties.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.insertShape(ShapeType.RECTANGLE, RelativeHorizontalPosition.LEFT_MARGIN, 100.0,
RelativeVerticalPosition.TOP_MARGIN, 100.0, 200.0, 200.0, WrapType.NONE);
// Basic shapes, such as the rectangle, have two visible parts.
// 1 - The fill, which applies to the area within the outline of the shape:
shape.getFill().setForeColor(Color.WHITE);
// 2 - The stroke, which marks the outline of the shape:
// Modify various properties of this shape's stroke.
Stroke stroke = shape.getStroke();
stroke.setOn(true);
stroke.setWeight(5.0);
stroke.setColor(Color.RED);
stroke.setDashStyle(DashStyle.SHORT_DASH_DOT_DOT);
stroke.setJoinStyle(JoinStyle.MITER);
stroke.setEndCap(EndCap.SQUARE);
stroke.setLineStyle(ShapeLineStyle.TRIPLE);
stroke.getFill().twoColorGradient(Color.RED, Color.BLUE, GradientStyle.VERTICAL, GradientVariant.VARIANT_1);
doc.save(getArtifactsDir() + "Shape.Stroke.docx");
Parameters:
Parameter | Type | Description |
---|---|---|
value | boolean | The corresponding boolean value. |
setOpacity(double value)
public void setOpacity(double value)
Defines the amount of transparency of a stroke. Valid range is from 0 to 1.
Remarks:
The default value is 1.
Examples:
Shows to create a variety of shapes.
Document doc = new Document();
DocumentBuilder builder = new 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:
Shape arrow = new Shape(doc, ShapeType.LINE);
arrow.setWidth(200.0);
arrow.getStroke().setColor(Color.RED);
arrow.getStroke().setStartArrowType(ArrowType.ARROW);
arrow.getStroke().setStartArrowLength(ArrowLength.LONG);
arrow.getStroke().setStartArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setEndArrowType(ArrowType.DIAMOND);
arrow.getStroke().setEndArrowLength(ArrowLength.LONG);
arrow.getStroke().setEndArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setDashStyle(DashStyle.DASH);
arrow.getStroke().setOpacity(0.5);
Assert.assertEquals(arrow.getStroke().getJoinStyle(), JoinStyle.MITER);
builder.insertNode(arrow);
// 2 - Thick black diagonal line with rounded ends:
Shape line = new Shape(doc, ShapeType.LINE);
line.setTop(40.0);
line.setWidth(200.0);
line.setHeight(20.0);
line.setStrokeWeight(5.0);
line.getStroke().setEndCap(EndCap.ROUND);
builder.insertNode(line);
// 3 - Arrow with a green fill:
Shape filledInArrow = new Shape(doc, ShapeType.ARROW);
filledInArrow.setWidth(200.0);
filledInArrow.setHeight(40.0);
filledInArrow.setTop(100.0);
filledInArrow.getFill().setForeColor(Color.GREEN);
filledInArrow.getFill().setVisible(true);
builder.insertNode(filledInArrow);
// 4 - Arrow with a flipped orientation filled in with the Aspose logo:
Shape filledInArrowImg = new Shape(doc, ShapeType.ARROW);
filledInArrowImg.setWidth(200.0);
filledInArrowImg.setHeight(40.0);
filledInArrowImg.setTop(160.0);
filledInArrowImg.setFlipOrientation(FlipOrientation.BOTH);
BufferedImage image = ImageIO.read(getAsposelogoUri().toURL().openStream());
Graphics2D graphics2D = image.createGraphics();
// 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.
AffineTransform at = new AffineTransform();
at.concatenate(AffineTransform.getScaleInstance(1, -1));
at.concatenate(AffineTransform.getTranslateInstance(0, -image.getHeight()));
graphics2D.transform(at);
graphics2D.drawImage(image, 0, 0, null);
graphics2D.dispose();
filledInArrowImg.getImageData().setImage(image);
builder.insertNode(filledInArrowImg);
doc.save(getArtifactsDir() + "Drawing.VariousShapes.docx");
Parameters:
Parameter | Type | Description |
---|---|---|
value | double | The corresponding double value. |
setRotateWithObject(boolean value)
public void setRotateWithObject(boolean value)
Parameters:
Parameter | Type | Description |
---|---|---|
value | boolean |
setStartArrowLength(int value)
public void setStartArrowLength(int value)
Defines the arrowhead length for the start of a stroke.
Remarks:
The default value is ArrowLength.MEDIUM.
Examples:
Shows to create a variety of shapes.
Document doc = new Document();
DocumentBuilder builder = new 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:
Shape arrow = new Shape(doc, ShapeType.LINE);
arrow.setWidth(200.0);
arrow.getStroke().setColor(Color.RED);
arrow.getStroke().setStartArrowType(ArrowType.ARROW);
arrow.getStroke().setStartArrowLength(ArrowLength.LONG);
arrow.getStroke().setStartArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setEndArrowType(ArrowType.DIAMOND);
arrow.getStroke().setEndArrowLength(ArrowLength.LONG);
arrow.getStroke().setEndArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setDashStyle(DashStyle.DASH);
arrow.getStroke().setOpacity(0.5);
Assert.assertEquals(arrow.getStroke().getJoinStyle(), JoinStyle.MITER);
builder.insertNode(arrow);
// 2 - Thick black diagonal line with rounded ends:
Shape line = new Shape(doc, ShapeType.LINE);
line.setTop(40.0);
line.setWidth(200.0);
line.setHeight(20.0);
line.setStrokeWeight(5.0);
line.getStroke().setEndCap(EndCap.ROUND);
builder.insertNode(line);
// 3 - Arrow with a green fill:
Shape filledInArrow = new Shape(doc, ShapeType.ARROW);
filledInArrow.setWidth(200.0);
filledInArrow.setHeight(40.0);
filledInArrow.setTop(100.0);
filledInArrow.getFill().setForeColor(Color.GREEN);
filledInArrow.getFill().setVisible(true);
builder.insertNode(filledInArrow);
// 4 - Arrow with a flipped orientation filled in with the Aspose logo:
Shape filledInArrowImg = new Shape(doc, ShapeType.ARROW);
filledInArrowImg.setWidth(200.0);
filledInArrowImg.setHeight(40.0);
filledInArrowImg.setTop(160.0);
filledInArrowImg.setFlipOrientation(FlipOrientation.BOTH);
BufferedImage image = ImageIO.read(getAsposelogoUri().toURL().openStream());
Graphics2D graphics2D = image.createGraphics();
// 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.
AffineTransform at = new AffineTransform();
at.concatenate(AffineTransform.getScaleInstance(1, -1));
at.concatenate(AffineTransform.getTranslateInstance(0, -image.getHeight()));
graphics2D.transform(at);
graphics2D.drawImage(image, 0, 0, null);
graphics2D.dispose();
filledInArrowImg.getImageData().setImage(image);
builder.insertNode(filledInArrowImg);
doc.save(getArtifactsDir() + "Drawing.VariousShapes.docx");
Parameters:
Parameter | Type | Description |
---|---|---|
value | int | The corresponding int value. The value must be one of ArrowLength constants. |
setStartArrowType(int value)
public void setStartArrowType(int value)
Defines the arrowhead for the start of a stroke.
Remarks:
The default value is ArrowType.NONE.
Examples:
Shows to create a variety of shapes.
Document doc = new Document();
DocumentBuilder builder = new 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:
Shape arrow = new Shape(doc, ShapeType.LINE);
arrow.setWidth(200.0);
arrow.getStroke().setColor(Color.RED);
arrow.getStroke().setStartArrowType(ArrowType.ARROW);
arrow.getStroke().setStartArrowLength(ArrowLength.LONG);
arrow.getStroke().setStartArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setEndArrowType(ArrowType.DIAMOND);
arrow.getStroke().setEndArrowLength(ArrowLength.LONG);
arrow.getStroke().setEndArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setDashStyle(DashStyle.DASH);
arrow.getStroke().setOpacity(0.5);
Assert.assertEquals(arrow.getStroke().getJoinStyle(), JoinStyle.MITER);
builder.insertNode(arrow);
// 2 - Thick black diagonal line with rounded ends:
Shape line = new Shape(doc, ShapeType.LINE);
line.setTop(40.0);
line.setWidth(200.0);
line.setHeight(20.0);
line.setStrokeWeight(5.0);
line.getStroke().setEndCap(EndCap.ROUND);
builder.insertNode(line);
// 3 - Arrow with a green fill:
Shape filledInArrow = new Shape(doc, ShapeType.ARROW);
filledInArrow.setWidth(200.0);
filledInArrow.setHeight(40.0);
filledInArrow.setTop(100.0);
filledInArrow.getFill().setForeColor(Color.GREEN);
filledInArrow.getFill().setVisible(true);
builder.insertNode(filledInArrow);
// 4 - Arrow with a flipped orientation filled in with the Aspose logo:
Shape filledInArrowImg = new Shape(doc, ShapeType.ARROW);
filledInArrowImg.setWidth(200.0);
filledInArrowImg.setHeight(40.0);
filledInArrowImg.setTop(160.0);
filledInArrowImg.setFlipOrientation(FlipOrientation.BOTH);
BufferedImage image = ImageIO.read(getAsposelogoUri().toURL().openStream());
Graphics2D graphics2D = image.createGraphics();
// 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.
AffineTransform at = new AffineTransform();
at.concatenate(AffineTransform.getScaleInstance(1, -1));
at.concatenate(AffineTransform.getTranslateInstance(0, -image.getHeight()));
graphics2D.transform(at);
graphics2D.drawImage(image, 0, 0, null);
graphics2D.dispose();
filledInArrowImg.getImageData().setImage(image);
builder.insertNode(filledInArrowImg);
doc.save(getArtifactsDir() + "Drawing.VariousShapes.docx");
Parameters:
Parameter | Type | Description |
---|---|---|
value | int | The corresponding int value. The value must be one of ArrowType constants. |
setStartArrowWidth(int value)
public void setStartArrowWidth(int value)
Defines the arrowhead width for the start of a stroke.
Remarks:
The default value is ArrowWidth.MEDIUM.
Examples:
Shows to create a variety of shapes.
Document doc = new Document();
DocumentBuilder builder = new 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:
Shape arrow = new Shape(doc, ShapeType.LINE);
arrow.setWidth(200.0);
arrow.getStroke().setColor(Color.RED);
arrow.getStroke().setStartArrowType(ArrowType.ARROW);
arrow.getStroke().setStartArrowLength(ArrowLength.LONG);
arrow.getStroke().setStartArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setEndArrowType(ArrowType.DIAMOND);
arrow.getStroke().setEndArrowLength(ArrowLength.LONG);
arrow.getStroke().setEndArrowWidth(ArrowWidth.WIDE);
arrow.getStroke().setDashStyle(DashStyle.DASH);
arrow.getStroke().setOpacity(0.5);
Assert.assertEquals(arrow.getStroke().getJoinStyle(), JoinStyle.MITER);
builder.insertNode(arrow);
// 2 - Thick black diagonal line with rounded ends:
Shape line = new Shape(doc, ShapeType.LINE);
line.setTop(40.0);
line.setWidth(200.0);
line.setHeight(20.0);
line.setStrokeWeight(5.0);
line.getStroke().setEndCap(EndCap.ROUND);
builder.insertNode(line);
// 3 - Arrow with a green fill:
Shape filledInArrow = new Shape(doc, ShapeType.ARROW);
filledInArrow.setWidth(200.0);
filledInArrow.setHeight(40.0);
filledInArrow.setTop(100.0);
filledInArrow.getFill().setForeColor(Color.GREEN);
filledInArrow.getFill().setVisible(true);
builder.insertNode(filledInArrow);
// 4 - Arrow with a flipped orientation filled in with the Aspose logo:
Shape filledInArrowImg = new Shape(doc, ShapeType.ARROW);
filledInArrowImg.setWidth(200.0);
filledInArrowImg.setHeight(40.0);
filledInArrowImg.setTop(160.0);
filledInArrowImg.setFlipOrientation(FlipOrientation.BOTH);
BufferedImage image = ImageIO.read(getAsposelogoUri().toURL().openStream());
Graphics2D graphics2D = image.createGraphics();
// 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.
AffineTransform at = new AffineTransform();
at.concatenate(AffineTransform.getScaleInstance(1, -1));
at.concatenate(AffineTransform.getTranslateInstance(0, -image.getHeight()));
graphics2D.transform(at);
graphics2D.drawImage(image, 0, 0, null);
graphics2D.dispose();
filledInArrowImg.getImageData().setImage(image);
builder.insertNode(filledInArrowImg);
doc.save(getArtifactsDir() + "Drawing.VariousShapes.docx");
Parameters:
Parameter | Type | Description |
---|---|---|
value | int | The corresponding int value. The value must be one of ArrowWidth constants. |
setTextureAlignment(int value)
public void setTextureAlignment(int value)
Parameters:
Parameter | Type | Description |
---|---|---|
value | int |
setTransparency(double value)
public void setTransparency(double value)
Sets a value between 0.0 (opaque) and 1.0 (clear) representing the degree of transparency of the stroke.
Remarks:
The default value is 0.
Examples:
Show how to set marker formatting.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.insertChart(ChartType.SCATTER, 432.0, 252.0);
Chart chart = shape.getChart();
// Delete default generated series.
chart.getSeries().clear();
ChartSeries series = chart.getSeries().add("AW Series 1", new double[] { 0.7, 1.8, 2.6, 3.9 },
new double[] { 2.7, 3.2, 0.8, 1.7 });
// Set marker formatting.
series.getMarker().setSize(40);
series.getMarker().setSymbol(MarkerSymbol.SQUARE);
ChartDataPointCollection dataPoints = series.getDataPoints();
dataPoints.get(0).getMarker().getFormat().getFill().presetTextured(PresetTexture.DENIM);
dataPoints.get(0).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(0).getMarker().getFormat().getStroke().setBackColor(Color.RED);
dataPoints.get(1).getMarker().getFormat().getFill().presetTextured(PresetTexture.WATER_DROPLETS);
dataPoints.get(1).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(1).getMarker().getFormat().getStroke().setVisible(false);
dataPoints.get(2).getMarker().getFormat().getFill().presetTextured(PresetTexture.GREEN_MARBLE);
dataPoints.get(2).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(3).getMarker().getFormat().getFill().presetTextured(PresetTexture.OAK);
dataPoints.get(3).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(3).getMarker().getFormat().getStroke().setTransparency(0.5);
doc.save(getArtifactsDir() + "Charts.MarkerFormatting.docx");
Parameters:
Parameter | Type | Description |
---|---|---|
value | double | A value between 0.0 (opaque) and 1.0 (clear) representing the degree of transparency of the stroke. |
setVisible(boolean value)
public void setVisible(boolean value)
Sets a flag indicating whether the stroke is visible.
Remarks:
The default value for a Shape is true .
Examples:
Show how to set marker formatting.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.insertChart(ChartType.SCATTER, 432.0, 252.0);
Chart chart = shape.getChart();
// Delete default generated series.
chart.getSeries().clear();
ChartSeries series = chart.getSeries().add("AW Series 1", new double[] { 0.7, 1.8, 2.6, 3.9 },
new double[] { 2.7, 3.2, 0.8, 1.7 });
// Set marker formatting.
series.getMarker().setSize(40);
series.getMarker().setSymbol(MarkerSymbol.SQUARE);
ChartDataPointCollection dataPoints = series.getDataPoints();
dataPoints.get(0).getMarker().getFormat().getFill().presetTextured(PresetTexture.DENIM);
dataPoints.get(0).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(0).getMarker().getFormat().getStroke().setBackColor(Color.RED);
dataPoints.get(1).getMarker().getFormat().getFill().presetTextured(PresetTexture.WATER_DROPLETS);
dataPoints.get(1).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(1).getMarker().getFormat().getStroke().setVisible(false);
dataPoints.get(2).getMarker().getFormat().getFill().presetTextured(PresetTexture.GREEN_MARBLE);
dataPoints.get(2).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(3).getMarker().getFormat().getFill().presetTextured(PresetTexture.OAK);
dataPoints.get(3).getMarker().getFormat().getStroke().setForeColor(Color.YELLOW);
dataPoints.get(3).getMarker().getFormat().getStroke().setTransparency(0.5);
doc.save(getArtifactsDir() + "Charts.MarkerFormatting.docx");
Parameters:
Parameter | Type | Description |
---|---|---|
value | boolean | A flag indicating whether the stroke is visible. |
setWeight(double value)
public void setWeight(double value)
Defines the brush thickness that strokes the path of a shape in points.
Remarks:
The default value for a Shape is 0.75.
Examples:
Shows how change stroke properties.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.insertShape(ShapeType.RECTANGLE, RelativeHorizontalPosition.LEFT_MARGIN, 100.0,
RelativeVerticalPosition.TOP_MARGIN, 100.0, 200.0, 200.0, WrapType.NONE);
// Basic shapes, such as the rectangle, have two visible parts.
// 1 - The fill, which applies to the area within the outline of the shape:
shape.getFill().setForeColor(Color.WHITE);
// 2 - The stroke, which marks the outline of the shape:
// Modify various properties of this shape's stroke.
Stroke stroke = shape.getStroke();
stroke.setOn(true);
stroke.setWeight(5.0);
stroke.setColor(Color.RED);
stroke.setDashStyle(DashStyle.SHORT_DASH_DOT_DOT);
stroke.setJoinStyle(JoinStyle.MITER);
stroke.setEndCap(EndCap.SQUARE);
stroke.setLineStyle(ShapeLineStyle.TRIPLE);
stroke.getFill().twoColorGradient(Color.RED, Color.BLUE, GradientStyle.VERTICAL, GradientVariant.VARIANT_1);
doc.save(getArtifactsDir() + "Shape.Stroke.docx");
Parameters:
Parameter | Type | Description |
---|---|---|
value | double | The corresponding double value. |
solid()
public void solid()
twoColorGradient(int style, int variant)
public void twoColorGradient(int style, int variant)
Parameters:
Parameter | Type | Description |
---|---|---|
style | int | |
variant | int |