com.aspose.words
Class Fill

java.lang.Object
    extended by com.aspose.words.Fill

public class Fill 
extends java.lang.Object

Represents fill formatting for an object.

To learn more, visit the Working with Graphic Elements documentation article.

Use the ShapeBase.Fill or Font.Fill property to access fill properties of an object. You do not create instances of the Fill class directly.

Example:

Shows how to fill a shape with a solid color.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Write some text, and then cover it with a floating shape.
builder.getFont().setSize(32.0);
builder.writeln("Hello world!");

Shape shape = builder.insertShape(ShapeType.CLOUD_CALLOUT, RelativeHorizontalPosition.LEFT_MARGIN, 25.0,
        RelativeVerticalPosition.TOP_MARGIN, 25.0, 250.0, 150.0, WrapType.NONE);

// Use the "StrokeColor" property to set the color of the outline of the shape.
shape.setStrokeColor(Color.BLACK);

// Use the "FillColor" property to set the color of the inside area of the shape.
shape.setFillColor(Color.BLUE);

// The "Opacity" property determines how transparent the color is on a 0-1 scale,
// with 1 being fully opaque, and 0 being invisible.
// The shape fill by default is fully opaque, so we cannot see the text that this shape is on top of.
Assert.assertEquals(1.0d, shape.getFill().getOpacity());

// Set the shape fill color's opacity to a lower value so that we can see the text underneath it.
shape.getFill().setOpacity(0.3);

doc.save(getArtifactsDir() + "Shape.Fill.docx");

Property Getters/Setters Summary
java.awt.ColorgetBackColor()
voidsetBackColor(java.awt.Color value)
           Gets or sets a Color object that represents the background color for the fill.
intgetBackThemeColor()
voidsetBackThemeColor(int value)
           Gets or sets a ThemeColor object that represents the background color for the fill. The value of the property is ThemeColor integer constant.
doublegetBackTintAndShade()
voidsetBackTintAndShade(double value)
           Gets or sets a double value that lightens or darkens the background color.
java.awt.ColorgetBaseForeColor()
           Gets a Color object that represents the base foreground color for the fill without any modifiers.
java.awt.ColorgetColor()
voidsetColor(java.awt.Color value)
           Gets or sets a Color object that represents the foreground color for the fill.
intgetFillType()
           Gets a fill type. The value of the property is FillType integer constant.
java.awt.ColorgetForeColor()
voidsetForeColor(java.awt.Color value)
           Gets or sets a Color object that represents the foreground color for the fill.
intgetForeThemeColor()
voidsetForeThemeColor(int value)
           Gets or sets a ThemeColor object that represents the foreground color for the fill. The value of the property is ThemeColor integer constant.
doublegetForeTintAndShade()
voidsetForeTintAndShade(double value)
           Gets or sets a double value that lightens or darkens the foreground color.
doublegetGradientAngle()
voidsetGradientAngle(double value)
           Gets or sets the angle of the gradient fill.
GradientStopCollectiongetGradientStops()
           Gets a collection of GradientStop objects for the fill.
intgetGradientStyle()
           Gets the gradient style GradientStyle for the fill. The value of the property is GradientStyle integer constant.
intgetGradientVariant()
           Gets the gradient variant GradientVariant for the fill. The value of the property is GradientVariant integer constant.
byte[]getImageBytes()
           Gets the raw bytes of the fill texture or pattern.
doublegetOpacity()
voidsetOpacity(double value)
           Gets or sets the degree of opacity of the specified fill as a value between 0.0 (clear) and 1.0 (opaque).
intgetPattern()
           Gets a PatternType for the fill. The value of the property is PatternType integer constant.
intgetPresetTexture()
           Gets a PresetTexture for the fill. The value of the property is PresetTexture integer constant.
booleangetRotateWithObject()
voidsetRotateWithObject(boolean value)
           Gets or sets whether the fill rotates with the specified object.
intgetTextureAlignment()
voidsetTextureAlignment(int value)
           Gets or sets the alignment for tile texture fill. The value of the property is TextureAlignment integer constant.
doublegetTransparency()
voidsetTransparency(double value)
           Gets or sets the degree of transparency of the specified fill as a value between 0.0 (opaque) and 1.0 (clear).
booleangetVisible()
voidsetVisible(boolean value)
           Gets or sets value that is true if the formatting applied to this instance, is visible.
 
Method Summary
voidoneColorGradient(int style, int variant, double degree)
           Sets the specified fill to a one-color gradient.
voidoneColorGradient(java.awt.Color color, int style, int variant, double degree)
           Sets the specified fill to a one-color gradient using the specified color.
voidpatterned(int patternType)
           Sets the specified fill to a pattern.
voidpatterned(int patternType, java.awt.Color foreColor, java.awt.Color backColor)
           Sets the specified fill to a pattern.
voidpresetTextured(int presetTexture)
           Sets the fill to a preset texture.
voidsetImage(byte[] imageBytes)
           Changes the fill type to single image.
voidsetImage(java.io.InputStream stream)
           Changes the fill type to single image.
voidsetImage(java.lang.String fileName)
           Changes the fill type to single image.
voidsolid()
           Sets the fill to a uniform color.
voidsolid(java.awt.Color color)
           Sets the fill to a specified uniform color.
voidtwoColorGradient(int style, int variant)
           Sets the specified fill to a two-color gradient.
voidtwoColorGradient(java.awt.Color color1, java.awt.Color color2, int style, int variant)
           Sets the specified fill to a two-color gradient.
 

Property Getters/Setters Detail

getBackColor/setBackColor

public java.awt.Color getBackColor() / public void setBackColor(java.awt.Color value)
Gets or sets a Color object that represents the background color for the fill.

Example:

Shows how to fill a shape with a gradients.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertShape(ShapeType.RECTANGLE, 80.0, 80.0);
// Apply One-color gradient fill to the shape with ForeColor of gradient fill.
shape.getFill().oneColorGradient(Color.RED, GradientStyle.HORIZONTAL, GradientVariant.VARIANT_2, 0.1);

Assert.assertEquals(Color.RED.getRGB(), shape.getFill().getForeColor().getRGB());
Assert.assertEquals(GradientStyle.HORIZONTAL, shape.getFill().getGradientStyle());
Assert.assertEquals(GradientVariant.VARIANT_2, shape.getFill().getGradientVariant());
Assert.assertEquals(270, shape.getFill().getGradientAngle());

shape = builder.insertShape(ShapeType.RECTANGLE, 80.0, 80.0);
// Apply Two-color gradient fill to the shape.
shape.getFill().twoColorGradient(GradientStyle.FROM_CORNER, GradientVariant.VARIANT_4);
// Change BackColor of gradient fill.
shape.getFill().setBackColor(Color.YELLOW);
// Note that changes "GradientAngle" for "GradientStyle.FromCorner/GradientStyle.FromCenter"
// gradient fill don't get any effect, it will work only for linear gradient.
shape.getFill().setGradientAngle(15.0);

Assert.assertEquals(Color.YELLOW.getRGB(), shape.getFill().getBackColor().getRGB());
Assert.assertEquals(GradientStyle.FROM_CORNER, shape.getFill().getGradientStyle());
Assert.assertEquals(GradientVariant.VARIANT_4, shape.getFill().getGradientVariant());
Assert.assertEquals(0, shape.getFill().getGradientAngle());

// Use the compliance option to define the shape using DML if you want to get "GradientStyle",
// "GradientVariant" and "GradientAngle" properties after the document saves.
OoxmlSaveOptions saveOptions = new OoxmlSaveOptions(); { saveOptions.setCompliance(OoxmlCompliance.ISO_29500_2008_STRICT); }

doc.save(getArtifactsDir() + "Shape.GradientFill.docx", saveOptions);

getBackThemeColor/setBackThemeColor

public int getBackThemeColor() / public void setBackThemeColor(int value)
Gets or sets a ThemeColor object that represents the background color for the fill. The value of the property is ThemeColor integer constant.

Example:

Shows how to set theme color for foreground/background shape color.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertShape(ShapeType.ROUND_RECTANGLE, 80.0, 80.0);

Fill fill = shape.getFill();
fill.setForeThemeColor(ThemeColor.DARK_1);
fill.setBackThemeColor(ThemeColor.BACKGROUND_2);

// Note: do not use "BackThemeColor" and "BackTintAndShade" for font fill.
if (fill.getBackTintAndShade() == 0)
    fill.setBackTintAndShade(0.2);

doc.save(getArtifactsDir() + "Shape.FillThemeColor.docx");

getBackTintAndShade/setBackTintAndShade

public double getBackTintAndShade() / public void setBackTintAndShade(double value)
Gets or sets a double value that lightens or darkens the background color.

The allowed values are in the range from -1 (the darkest) to 1 (the lightest) for this property.

Zero (0) is neutral.

Example:

Shows how to set theme color for foreground/background shape color.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertShape(ShapeType.ROUND_RECTANGLE, 80.0, 80.0);

Fill fill = shape.getFill();
fill.setForeThemeColor(ThemeColor.DARK_1);
fill.setBackThemeColor(ThemeColor.BACKGROUND_2);

// Note: do not use "BackThemeColor" and "BackTintAndShade" for font fill.
if (fill.getBackTintAndShade() == 0)
    fill.setBackTintAndShade(0.2);

doc.save(getArtifactsDir() + "Shape.FillThemeColor.docx");

getBaseForeColor

public java.awt.Color getBaseForeColor()
Gets a Color object that represents the base foreground color for the fill without any modifiers.

Example:

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());

getColor/setColor

public java.awt.Color getColor() / public void setColor(java.awt.Color value)
Gets or sets a Color object that represents the foreground color for the fill. This property preserves the alpha component of the java.awt.Color, unlike the ForeColor property, which resets it to fully opaque color.

Example:

Shows how to convert any of the fills back to solid fill.
Document doc = new Document(getMyDir() + "Two color gradient.docx");

// Get Fill object for Font of the first Run.
Fill fill = doc.getFirstSection().getBody().getParagraphs().get(0).getRuns().get(0).getFont().getFill();

// Check Fill properties of the Font.
System.out.println(MessageFormat.format("The type of the fill is: {0}",fill.getFillType()));
System.out.println(MessageFormat.format("The foreground color of the fill is: {0}",fill.getForeColor()));
System.out.println(MessageFormat.format("The fill is transparent at {0}%",fill.getTransparency() * 100.0));

// Change type of the fill to Solid with uniform green color.
fill.solid(Color.GREEN);
System.out.println("\nThe fill is changed:");
System.out.println(MessageFormat.format("The type of the fill is: {0}",fill.getFillType()));
System.out.println(MessageFormat.format("The foreground color of the fill is: {0}",fill.getForeColor()));
System.out.println(MessageFormat.format("The fill transparency is {0}%",fill.getTransparency() * 100.0));

doc.save(getArtifactsDir() + "Drawing.FillSolid.docx");

getFillType

public int getFillType()
Gets a fill type. The value of the property is FillType integer constant.

Example:

Shows how to convert any of the fills back to solid fill.
Document doc = new Document(getMyDir() + "Two color gradient.docx");

// Get Fill object for Font of the first Run.
Fill fill = doc.getFirstSection().getBody().getParagraphs().get(0).getRuns().get(0).getFont().getFill();

// Check Fill properties of the Font.
System.out.println(MessageFormat.format("The type of the fill is: {0}",fill.getFillType()));
System.out.println(MessageFormat.format("The foreground color of the fill is: {0}",fill.getForeColor()));
System.out.println(MessageFormat.format("The fill is transparent at {0}%",fill.getTransparency() * 100.0));

// Change type of the fill to Solid with uniform green color.
fill.solid(Color.GREEN);
System.out.println("\nThe fill is changed:");
System.out.println(MessageFormat.format("The type of the fill is: {0}",fill.getFillType()));
System.out.println(MessageFormat.format("The foreground color of the fill is: {0}",fill.getForeColor()));
System.out.println(MessageFormat.format("The fill transparency is {0}%",fill.getTransparency() * 100.0));

doc.save(getArtifactsDir() + "Drawing.FillSolid.docx");

getForeColor/setForeColor

public java.awt.Color getForeColor() / public void setForeColor(java.awt.Color value)
Gets or sets a Color object that represents the foreground color for the fill. This property resets the alpha component of the java.awt.Color to fully opaque color unlike the Color property, which preserves it.

Example:

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");

getForeThemeColor/setForeThemeColor

public int getForeThemeColor() / public void setForeThemeColor(int value)
Gets or sets a ThemeColor object that represents the foreground color for the fill. The value of the property is ThemeColor integer constant.

Example:

Shows how to set theme color for foreground/background shape color.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertShape(ShapeType.ROUND_RECTANGLE, 80.0, 80.0);

Fill fill = shape.getFill();
fill.setForeThemeColor(ThemeColor.DARK_1);
fill.setBackThemeColor(ThemeColor.BACKGROUND_2);

// Note: do not use "BackThemeColor" and "BackTintAndShade" for font fill.
if (fill.getBackTintAndShade() == 0)
    fill.setBackTintAndShade(0.2);

doc.save(getArtifactsDir() + "Shape.FillThemeColor.docx");

getForeTintAndShade/setForeTintAndShade

public double getForeTintAndShade() / public void setForeTintAndShade(double value)
Gets or sets a double value that lightens or darkens the foreground color.

The allowed values are in the range from -1 (the darkest) to 1 (the lightest) for this property.

Zero (0) is neutral.

Example:

Shows how to manage lightening and darkening foreground font color.
Document doc = new Document(getMyDir() + "Big document.docx");

Fill textFill = doc.getFirstSection().getBody().getFirstParagraph().getRuns().get(0).getFont().getFill();
textFill.setForeThemeColor(ThemeColor.ACCENT_1);
if (textFill.getForeTintAndShade() == 0)
    textFill.setForeTintAndShade(0.5);

doc.save(getArtifactsDir() + "Shape.FillTintAndShade.docx");

getGradientAngle/setGradientAngle

public double getGradientAngle() / public void setGradientAngle(double value)
Gets or sets the angle of the gradient fill.

Example:

Shows how to fill a shape with a gradients.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertShape(ShapeType.RECTANGLE, 80.0, 80.0);
// Apply One-color gradient fill to the shape with ForeColor of gradient fill.
shape.getFill().oneColorGradient(Color.RED, GradientStyle.HORIZONTAL, GradientVariant.VARIANT_2, 0.1);

Assert.assertEquals(Color.RED.getRGB(), shape.getFill().getForeColor().getRGB());
Assert.assertEquals(GradientStyle.HORIZONTAL, shape.getFill().getGradientStyle());
Assert.assertEquals(GradientVariant.VARIANT_2, shape.getFill().getGradientVariant());
Assert.assertEquals(270, shape.getFill().getGradientAngle());

shape = builder.insertShape(ShapeType.RECTANGLE, 80.0, 80.0);
// Apply Two-color gradient fill to the shape.
shape.getFill().twoColorGradient(GradientStyle.FROM_CORNER, GradientVariant.VARIANT_4);
// Change BackColor of gradient fill.
shape.getFill().setBackColor(Color.YELLOW);
// Note that changes "GradientAngle" for "GradientStyle.FromCorner/GradientStyle.FromCenter"
// gradient fill don't get any effect, it will work only for linear gradient.
shape.getFill().setGradientAngle(15.0);

Assert.assertEquals(Color.YELLOW.getRGB(), shape.getFill().getBackColor().getRGB());
Assert.assertEquals(GradientStyle.FROM_CORNER, shape.getFill().getGradientStyle());
Assert.assertEquals(GradientVariant.VARIANT_4, shape.getFill().getGradientVariant());
Assert.assertEquals(0, shape.getFill().getGradientAngle());

// Use the compliance option to define the shape using DML if you want to get "GradientStyle",
// "GradientVariant" and "GradientAngle" properties after the document saves.
OoxmlSaveOptions saveOptions = new OoxmlSaveOptions(); { saveOptions.setCompliance(OoxmlCompliance.ISO_29500_2008_STRICT); }

doc.save(getArtifactsDir() + "Shape.GradientFill.docx", saveOptions);

getGradientStops

public GradientStopCollection getGradientStops()
Gets a collection of GradientStop objects for the fill.

Example:

Shows how to add gradient stops to the gradient fill.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertShape(ShapeType.RECTANGLE, 80.0, 80.0);
shape.getFill().twoColorGradient(Color.green, Color.RED, GradientStyle.HORIZONTAL, GradientVariant.VARIANT_2);

// Get gradient stops collection.
GradientStopCollection gradientStops = shape.getFill().getGradientStops();

// Change first gradient stop.
gradientStops.get(0).setColor(Color.yellow);
gradientStops.get(0).setPosition(0.1);
gradientStops.get(0).setTransparency(0.25);

// Add new gradient stop to the end of collection.
GradientStop gradientStop = new GradientStop(Color.blue, 0.5);
gradientStops.add(gradientStop);

// Remove gradient stop at index 1.
gradientStops.removeAt(1);
// And insert new gradient stop at the same index 1.
gradientStops.insert(1, new GradientStop(Color.pink, 0.75, 0.3));

// Remove last gradient stop in the collection.
gradientStop = gradientStops.get(2);
gradientStops.remove(gradientStop);

Assert.assertEquals(2, gradientStops.getCount());

Assert.assertEquals(new Color((255), (255), (0)), gradientStops.get(0).getBaseColor());
Assert.assertEquals(Color.yellow.getRGB(), gradientStops.get(0).getColor().getRGB());
Assert.assertEquals(0.1d, gradientStops.get(0).getPosition(), 0.01d);
Assert.assertEquals(0.25d, gradientStops.get(0).getTransparency(), 0.01d);

Assert.assertEquals(Color.pink.getRGB(), gradientStops.get(1).getColor().getRGB());
Assert.assertEquals(0.75d, gradientStops.get(1).getPosition(), 0.01d);
Assert.assertEquals(0.3d, gradientStops.get(1).getTransparency(), 0.01d);

// Use the compliance option to define the shape using DML
// if you want to get "GradientStops" property after the document saves.
OoxmlSaveOptions saveOptions = new OoxmlSaveOptions(); { saveOptions.setCompliance(OoxmlCompliance.ISO_29500_2008_STRICT); }

doc.save(getArtifactsDir() + "Shape.GradientStops.docx", saveOptions);

getGradientStyle

public int getGradientStyle()
Gets the gradient style GradientStyle for the fill. The value of the property is GradientStyle integer constant.

Example:

Shows how to fill a shape with a gradients.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertShape(ShapeType.RECTANGLE, 80.0, 80.0);
// Apply One-color gradient fill to the shape with ForeColor of gradient fill.
shape.getFill().oneColorGradient(Color.RED, GradientStyle.HORIZONTAL, GradientVariant.VARIANT_2, 0.1);

Assert.assertEquals(Color.RED.getRGB(), shape.getFill().getForeColor().getRGB());
Assert.assertEquals(GradientStyle.HORIZONTAL, shape.getFill().getGradientStyle());
Assert.assertEquals(GradientVariant.VARIANT_2, shape.getFill().getGradientVariant());
Assert.assertEquals(270, shape.getFill().getGradientAngle());

shape = builder.insertShape(ShapeType.RECTANGLE, 80.0, 80.0);
// Apply Two-color gradient fill to the shape.
shape.getFill().twoColorGradient(GradientStyle.FROM_CORNER, GradientVariant.VARIANT_4);
// Change BackColor of gradient fill.
shape.getFill().setBackColor(Color.YELLOW);
// Note that changes "GradientAngle" for "GradientStyle.FromCorner/GradientStyle.FromCenter"
// gradient fill don't get any effect, it will work only for linear gradient.
shape.getFill().setGradientAngle(15.0);

Assert.assertEquals(Color.YELLOW.getRGB(), shape.getFill().getBackColor().getRGB());
Assert.assertEquals(GradientStyle.FROM_CORNER, shape.getFill().getGradientStyle());
Assert.assertEquals(GradientVariant.VARIANT_4, shape.getFill().getGradientVariant());
Assert.assertEquals(0, shape.getFill().getGradientAngle());

// Use the compliance option to define the shape using DML if you want to get "GradientStyle",
// "GradientVariant" and "GradientAngle" properties after the document saves.
OoxmlSaveOptions saveOptions = new OoxmlSaveOptions(); { saveOptions.setCompliance(OoxmlCompliance.ISO_29500_2008_STRICT); }

doc.save(getArtifactsDir() + "Shape.GradientFill.docx", saveOptions);

getGradientVariant

public int getGradientVariant()
Gets the gradient variant GradientVariant for the fill. The value of the property is GradientVariant integer constant.

Example:

Shows how to fill a shape with a gradients.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertShape(ShapeType.RECTANGLE, 80.0, 80.0);
// Apply One-color gradient fill to the shape with ForeColor of gradient fill.
shape.getFill().oneColorGradient(Color.RED, GradientStyle.HORIZONTAL, GradientVariant.VARIANT_2, 0.1);

Assert.assertEquals(Color.RED.getRGB(), shape.getFill().getForeColor().getRGB());
Assert.assertEquals(GradientStyle.HORIZONTAL, shape.getFill().getGradientStyle());
Assert.assertEquals(GradientVariant.VARIANT_2, shape.getFill().getGradientVariant());
Assert.assertEquals(270, shape.getFill().getGradientAngle());

shape = builder.insertShape(ShapeType.RECTANGLE, 80.0, 80.0);
// Apply Two-color gradient fill to the shape.
shape.getFill().twoColorGradient(GradientStyle.FROM_CORNER, GradientVariant.VARIANT_4);
// Change BackColor of gradient fill.
shape.getFill().setBackColor(Color.YELLOW);
// Note that changes "GradientAngle" for "GradientStyle.FromCorner/GradientStyle.FromCenter"
// gradient fill don't get any effect, it will work only for linear gradient.
shape.getFill().setGradientAngle(15.0);

Assert.assertEquals(Color.YELLOW.getRGB(), shape.getFill().getBackColor().getRGB());
Assert.assertEquals(GradientStyle.FROM_CORNER, shape.getFill().getGradientStyle());
Assert.assertEquals(GradientVariant.VARIANT_4, shape.getFill().getGradientVariant());
Assert.assertEquals(0, shape.getFill().getGradientAngle());

// Use the compliance option to define the shape using DML if you want to get "GradientStyle",
// "GradientVariant" and "GradientAngle" properties after the document saves.
OoxmlSaveOptions saveOptions = new OoxmlSaveOptions(); { saveOptions.setCompliance(OoxmlCompliance.ISO_29500_2008_STRICT); }

doc.save(getArtifactsDir() + "Shape.GradientFill.docx", saveOptions);

getImageBytes

public byte[] getImageBytes()
Gets the raw bytes of the fill texture or pattern.

The default value is null.

Example:

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");

getOpacity/setOpacity

public double getOpacity() / public void setOpacity(double value)
Gets or sets the degree of opacity of the specified fill as a value between 0.0 (clear) and 1.0 (opaque). This property is the opposite of property Transparency.

Example:

Shows how to fill a shape with a solid color.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Write some text, and then cover it with a floating shape.
builder.getFont().setSize(32.0);
builder.writeln("Hello world!");

Shape shape = builder.insertShape(ShapeType.CLOUD_CALLOUT, RelativeHorizontalPosition.LEFT_MARGIN, 25.0,
        RelativeVerticalPosition.TOP_MARGIN, 25.0, 250.0, 150.0, WrapType.NONE);

// Use the "StrokeColor" property to set the color of the outline of the shape.
shape.setStrokeColor(Color.BLACK);

// Use the "FillColor" property to set the color of the inside area of the shape.
shape.setFillColor(Color.BLUE);

// The "Opacity" property determines how transparent the color is on a 0-1 scale,
// with 1 being fully opaque, and 0 being invisible.
// The shape fill by default is fully opaque, so we cannot see the text that this shape is on top of.
Assert.assertEquals(1.0d, shape.getFill().getOpacity());

// Set the shape fill color's opacity to a lower value so that we can see the text underneath it.
shape.getFill().setOpacity(0.3);

doc.save(getArtifactsDir() + "Shape.Fill.docx");

getPattern

public int getPattern()
Gets a PatternType for the fill. The value of the property is PatternType integer constant.

Example:

Shows how to set pattern for a shape.
Document doc = new Document(getMyDir() + "Shape stroke pattern border.docx");

Shape shape = (Shape)doc.getChild(NodeType.SHAPE, 0, true);
Fill fill = shape.getFill();

System.out.println(MessageFormat.format("Pattern value is: {0}",fill.getPattern()));

// There are several ways specified fill to a pattern.
// 1 -  Apply pattern to the shape fill:
fill.patterned(PatternType.DIAGONAL_BRICK);

// 2 -  Apply pattern with foreground and background colors to the shape fill:
fill.patterned(PatternType.DIAGONAL_BRICK, Color.yellow, Color.blue);

doc.save(getArtifactsDir() + "Shape.FillPattern.docx");

getPresetTexture

public int getPresetTexture()
Gets a PresetTexture for the fill. The value of the property is PresetTexture integer constant.

Example:

Shows how to fill and tiling the texture inside the shape.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertShape(ShapeType.RECTANGLE, 80.0, 80.0);

// Apply texture alignment to the shape fill.
shape.getFill().presetTextured(PresetTexture.CANVAS);
shape.getFill().setTextureAlignment(TextureAlignment.TOP_RIGHT);

// Use the compliance option to define the shape using DML if you want to get "TextureAlignment"
// property after the document saves.
OoxmlSaveOptions saveOptions = new OoxmlSaveOptions(); { saveOptions.setCompliance(OoxmlCompliance.ISO_29500_2008_STRICT); }

doc.save(getArtifactsDir() + "Shape.TextureFill.docx", saveOptions);

getRotateWithObject/setRotateWithObject

public boolean getRotateWithObject() / public void setRotateWithObject(boolean value)
Gets or sets whether the fill rotates with the specified object.

getTextureAlignment/setTextureAlignment

public int getTextureAlignment() / public void setTextureAlignment(int value)
Gets or sets the alignment for tile texture fill. The value of the property is TextureAlignment integer constant.

Example:

Shows how to fill and tiling the texture inside the shape.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertShape(ShapeType.RECTANGLE, 80.0, 80.0);

// Apply texture alignment to the shape fill.
shape.getFill().presetTextured(PresetTexture.CANVAS);
shape.getFill().setTextureAlignment(TextureAlignment.TOP_RIGHT);

// Use the compliance option to define the shape using DML if you want to get "TextureAlignment"
// property after the document saves.
OoxmlSaveOptions saveOptions = new OoxmlSaveOptions(); { saveOptions.setCompliance(OoxmlCompliance.ISO_29500_2008_STRICT); }

doc.save(getArtifactsDir() + "Shape.TextureFill.docx", saveOptions);

getTransparency/setTransparency

public double getTransparency() / public void setTransparency(double value)
Gets or sets the degree of transparency of the specified fill as a value between 0.0 (opaque) and 1.0 (clear). This property is the opposite of property Opacity.

Example:

Shows how to convert any of the fills back to solid fill.
Document doc = new Document(getMyDir() + "Two color gradient.docx");

// Get Fill object for Font of the first Run.
Fill fill = doc.getFirstSection().getBody().getParagraphs().get(0).getRuns().get(0).getFont().getFill();

// Check Fill properties of the Font.
System.out.println(MessageFormat.format("The type of the fill is: {0}",fill.getFillType()));
System.out.println(MessageFormat.format("The foreground color of the fill is: {0}",fill.getForeColor()));
System.out.println(MessageFormat.format("The fill is transparent at {0}%",fill.getTransparency() * 100.0));

// Change type of the fill to Solid with uniform green color.
fill.solid(Color.GREEN);
System.out.println("\nThe fill is changed:");
System.out.println(MessageFormat.format("The type of the fill is: {0}",fill.getFillType()));
System.out.println(MessageFormat.format("The foreground color of the fill is: {0}",fill.getForeColor()));
System.out.println(MessageFormat.format("The fill transparency is {0}%",fill.getTransparency() * 100.0));

doc.save(getArtifactsDir() + "Drawing.FillSolid.docx");

getVisible/setVisible

public boolean getVisible() / public void setVisible(boolean value)
Gets or sets value that is true if the formatting applied to this instance, is visible.

Example:

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");

Method Detail

oneColorGradient

public void oneColorGradient(int style, int variant, double degree)
Sets the specified fill to a one-color gradient.
Parameters:
style - A GradientStyle value. The gradient style GradientStyle
variant - A GradientVariant value. The gradient variant GradientVariant
degree - The gradient degree. Can be a value from 0.0 (dark) to 1.0 (light).

Example:

Shows how to fill a shape with a gradients.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertShape(ShapeType.RECTANGLE, 80.0, 80.0);
// Apply One-color gradient fill to the shape with ForeColor of gradient fill.
shape.getFill().oneColorGradient(Color.RED, GradientStyle.HORIZONTAL, GradientVariant.VARIANT_2, 0.1);

Assert.assertEquals(Color.RED.getRGB(), shape.getFill().getForeColor().getRGB());
Assert.assertEquals(GradientStyle.HORIZONTAL, shape.getFill().getGradientStyle());
Assert.assertEquals(GradientVariant.VARIANT_2, shape.getFill().getGradientVariant());
Assert.assertEquals(270, shape.getFill().getGradientAngle());

shape = builder.insertShape(ShapeType.RECTANGLE, 80.0, 80.0);
// Apply Two-color gradient fill to the shape.
shape.getFill().twoColorGradient(GradientStyle.FROM_CORNER, GradientVariant.VARIANT_4);
// Change BackColor of gradient fill.
shape.getFill().setBackColor(Color.YELLOW);
// Note that changes "GradientAngle" for "GradientStyle.FromCorner/GradientStyle.FromCenter"
// gradient fill don't get any effect, it will work only for linear gradient.
shape.getFill().setGradientAngle(15.0);

Assert.assertEquals(Color.YELLOW.getRGB(), shape.getFill().getBackColor().getRGB());
Assert.assertEquals(GradientStyle.FROM_CORNER, shape.getFill().getGradientStyle());
Assert.assertEquals(GradientVariant.VARIANT_4, shape.getFill().getGradientVariant());
Assert.assertEquals(0, shape.getFill().getGradientAngle());

// Use the compliance option to define the shape using DML if you want to get "GradientStyle",
// "GradientVariant" and "GradientAngle" properties after the document saves.
OoxmlSaveOptions saveOptions = new OoxmlSaveOptions(); { saveOptions.setCompliance(OoxmlCompliance.ISO_29500_2008_STRICT); }

doc.save(getArtifactsDir() + "Shape.GradientFill.docx", saveOptions);

oneColorGradient

public void oneColorGradient(java.awt.Color color, int style, int variant, double degree)
Sets the specified fill to a one-color gradient using the specified color.
Parameters:
color - The color to build the gradient.
style - A GradientStyle value. The gradient style GradientStyle
variant - A GradientVariant value. The gradient variant GradientVariant
degree - The gradient degree. Can be a value from 0.0 (dark) to 1.0 (light).

Example:

Shows how to fill a shape with a gradients.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertShape(ShapeType.RECTANGLE, 80.0, 80.0);
// Apply One-color gradient fill to the shape with ForeColor of gradient fill.
shape.getFill().oneColorGradient(Color.RED, GradientStyle.HORIZONTAL, GradientVariant.VARIANT_2, 0.1);

Assert.assertEquals(Color.RED.getRGB(), shape.getFill().getForeColor().getRGB());
Assert.assertEquals(GradientStyle.HORIZONTAL, shape.getFill().getGradientStyle());
Assert.assertEquals(GradientVariant.VARIANT_2, shape.getFill().getGradientVariant());
Assert.assertEquals(270, shape.getFill().getGradientAngle());

shape = builder.insertShape(ShapeType.RECTANGLE, 80.0, 80.0);
// Apply Two-color gradient fill to the shape.
shape.getFill().twoColorGradient(GradientStyle.FROM_CORNER, GradientVariant.VARIANT_4);
// Change BackColor of gradient fill.
shape.getFill().setBackColor(Color.YELLOW);
// Note that changes "GradientAngle" for "GradientStyle.FromCorner/GradientStyle.FromCenter"
// gradient fill don't get any effect, it will work only for linear gradient.
shape.getFill().setGradientAngle(15.0);

Assert.assertEquals(Color.YELLOW.getRGB(), shape.getFill().getBackColor().getRGB());
Assert.assertEquals(GradientStyle.FROM_CORNER, shape.getFill().getGradientStyle());
Assert.assertEquals(GradientVariant.VARIANT_4, shape.getFill().getGradientVariant());
Assert.assertEquals(0, shape.getFill().getGradientAngle());

// Use the compliance option to define the shape using DML if you want to get "GradientStyle",
// "GradientVariant" and "GradientAngle" properties after the document saves.
OoxmlSaveOptions saveOptions = new OoxmlSaveOptions(); { saveOptions.setCompliance(OoxmlCompliance.ISO_29500_2008_STRICT); }

doc.save(getArtifactsDir() + "Shape.GradientFill.docx", saveOptions);

patterned

public void patterned(int patternType)
Sets the specified fill to a pattern.
Parameters:
patternType - A PatternType value. PatternType

Example:

Shows how to set pattern for a shape.
Document doc = new Document(getMyDir() + "Shape stroke pattern border.docx");

Shape shape = (Shape)doc.getChild(NodeType.SHAPE, 0, true);
Fill fill = shape.getFill();

System.out.println(MessageFormat.format("Pattern value is: {0}",fill.getPattern()));

// There are several ways specified fill to a pattern.
// 1 -  Apply pattern to the shape fill:
fill.patterned(PatternType.DIAGONAL_BRICK);

// 2 -  Apply pattern with foreground and background colors to the shape fill:
fill.patterned(PatternType.DIAGONAL_BRICK, Color.yellow, Color.blue);

doc.save(getArtifactsDir() + "Shape.FillPattern.docx");

patterned

public void patterned(int patternType, java.awt.Color foreColor, java.awt.Color backColor)
Sets the specified fill to a pattern.
Parameters:
patternType - A PatternType value. PatternType
foreColor - The color of the foreground fill.
backColor - The color of the background fill.

Example:

Shows how to set pattern for a shape.
Document doc = new Document(getMyDir() + "Shape stroke pattern border.docx");

Shape shape = (Shape)doc.getChild(NodeType.SHAPE, 0, true);
Fill fill = shape.getFill();

System.out.println(MessageFormat.format("Pattern value is: {0}",fill.getPattern()));

// There are several ways specified fill to a pattern.
// 1 -  Apply pattern to the shape fill:
fill.patterned(PatternType.DIAGONAL_BRICK);

// 2 -  Apply pattern with foreground and background colors to the shape fill:
fill.patterned(PatternType.DIAGONAL_BRICK, Color.yellow, Color.blue);

doc.save(getArtifactsDir() + "Shape.FillPattern.docx");

presetTextured

public void presetTextured(int presetTexture)
Sets the fill to a preset texture.
Parameters:
presetTexture - A PresetTexture value. PresetTexture

Example:

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");

setImage

public void setImage(byte[] imageBytes)
Changes the fill type to single image.
Parameters:
imageBytes - The image bytes array.

Example:

Shows how to set shape fill type as image.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// There are several ways of setting image.
Shape shape = builder.insertShape(ShapeType.RECTANGLE, 80.0, 80.0);
// 1 -  Using a local system filename:
shape.getFill().setImage(getImageDir() + "Logo.jpg");
doc.save(getArtifactsDir() + "Shape.FillImage.FileName.docx");

// 2 -  Load a file into a byte array:
shape.getFill().setImage(Files.readAllBytes(Paths.get(getImageDir() + "Logo.jpg")));
doc.save(getArtifactsDir() + "Shape.FillImage.ByteArray.docx");

// 3 -  From a stream:
FileInputStream stream = new FileInputStream(getImageDir() + "Logo.jpg");
try /*JAVA: was using*/
{
    shape.getFill().setImage(stream);
}
finally { if (stream != null) stream.close(); }
doc.save(getArtifactsDir() + "Shape.FillImage.Stream.docx");

setImage

public void setImage(java.io.InputStream stream)
             throws java.lang.Exception
Changes the fill type to single image.
Parameters:
stream - The stream that contains the image bytes.

Example:

Shows how to set shape fill type as image.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// There are several ways of setting image.
Shape shape = builder.insertShape(ShapeType.RECTANGLE, 80.0, 80.0);
// 1 -  Using a local system filename:
shape.getFill().setImage(getImageDir() + "Logo.jpg");
doc.save(getArtifactsDir() + "Shape.FillImage.FileName.docx");

// 2 -  Load a file into a byte array:
shape.getFill().setImage(Files.readAllBytes(Paths.get(getImageDir() + "Logo.jpg")));
doc.save(getArtifactsDir() + "Shape.FillImage.ByteArray.docx");

// 3 -  From a stream:
FileInputStream stream = new FileInputStream(getImageDir() + "Logo.jpg");
try /*JAVA: was using*/
{
    shape.getFill().setImage(stream);
}
finally { if (stream != null) stream.close(); }
doc.save(getArtifactsDir() + "Shape.FillImage.Stream.docx");

setImage

public void setImage(java.lang.String fileName)
             throws java.lang.Exception
Changes the fill type to single image.
Parameters:
fileName - The path to the image file.

Example:

Shows how to set shape fill type as image.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// There are several ways of setting image.
Shape shape = builder.insertShape(ShapeType.RECTANGLE, 80.0, 80.0);
// 1 -  Using a local system filename:
shape.getFill().setImage(getImageDir() + "Logo.jpg");
doc.save(getArtifactsDir() + "Shape.FillImage.FileName.docx");

// 2 -  Load a file into a byte array:
shape.getFill().setImage(Files.readAllBytes(Paths.get(getImageDir() + "Logo.jpg")));
doc.save(getArtifactsDir() + "Shape.FillImage.ByteArray.docx");

// 3 -  From a stream:
FileInputStream stream = new FileInputStream(getImageDir() + "Logo.jpg");
try /*JAVA: was using*/
{
    shape.getFill().setImage(stream);
}
finally { if (stream != null) stream.close(); }
doc.save(getArtifactsDir() + "Shape.FillImage.Stream.docx");

solid

public void solid()
Sets the fill to a uniform color. Use this method to convert any of the fills back to solid fill.

Example:

Shows how to convert any of the fills back to solid fill.
Document doc = new Document(getMyDir() + "Two color gradient.docx");

// Get Fill object for Font of the first Run.
Fill fill = doc.getFirstSection().getBody().getParagraphs().get(0).getRuns().get(0).getFont().getFill();

// Check Fill properties of the Font.
System.out.println(MessageFormat.format("The type of the fill is: {0}",fill.getFillType()));
System.out.println(MessageFormat.format("The foreground color of the fill is: {0}",fill.getForeColor()));
System.out.println(MessageFormat.format("The fill is transparent at {0}%",fill.getTransparency() * 100.0));

// Change type of the fill to Solid with uniform green color.
fill.solid(Color.GREEN);
System.out.println("\nThe fill is changed:");
System.out.println(MessageFormat.format("The type of the fill is: {0}",fill.getFillType()));
System.out.println(MessageFormat.format("The foreground color of the fill is: {0}",fill.getForeColor()));
System.out.println(MessageFormat.format("The fill transparency is {0}%",fill.getTransparency() * 100.0));

doc.save(getArtifactsDir() + "Drawing.FillSolid.docx");

solid

public void solid(java.awt.Color color)
Sets the fill to a specified uniform color. Use this method to convert any of the fills back to solid fill.

Example:

Shows how to use chart formating.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertChart(ChartType.COLUMN, 432.0, 252.0);
Chart chart = shape.getChart();

// Delete series generated by default.
ChartSeriesCollection series = chart.getSeries();
series.clear();

String[] categories = new String[] { "Category 1", "Category 2" };
series.add("Series 1", categories, new double[] { 1.0, 2.0 });
series.add("Series 2", categories, new double[] { 3.0, 4.0 });

// Format chart background.
chart.getFormat().getFill().solid(Color.darkGray);

// Hide axis tick labels.
chart.getAxisX().getTickLabels().setPosition(AxisTickLabelPosition.NONE);
chart.getAxisY().getTickLabels().setPosition(AxisTickLabelPosition.NONE);

// Format chart title.
chart.getTitle().getFormat().getFill().solid(Color.yellow);

// Format axis title.
chart.getAxisX().getTitle().setShow(true);
chart.getAxisX().getTitle().getFormat().getFill().solid(Color.yellow);

// Format legend.
chart.getLegend().getFormat().getFill().solid(Color.yellow);

doc.save(getArtifactsDir() + "Charts.ChartFormat.docx");

twoColorGradient

public void twoColorGradient(int style, int variant)
Sets the specified fill to a two-color gradient.
Parameters:
style - A GradientStyle value. The gradient style GradientStyle.
variant - A GradientVariant value. The gradient variant GradientVariant

Example:

Shows how to fill a shape with a gradients.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertShape(ShapeType.RECTANGLE, 80.0, 80.0);
// Apply One-color gradient fill to the shape with ForeColor of gradient fill.
shape.getFill().oneColorGradient(Color.RED, GradientStyle.HORIZONTAL, GradientVariant.VARIANT_2, 0.1);

Assert.assertEquals(Color.RED.getRGB(), shape.getFill().getForeColor().getRGB());
Assert.assertEquals(GradientStyle.HORIZONTAL, shape.getFill().getGradientStyle());
Assert.assertEquals(GradientVariant.VARIANT_2, shape.getFill().getGradientVariant());
Assert.assertEquals(270, shape.getFill().getGradientAngle());

shape = builder.insertShape(ShapeType.RECTANGLE, 80.0, 80.0);
// Apply Two-color gradient fill to the shape.
shape.getFill().twoColorGradient(GradientStyle.FROM_CORNER, GradientVariant.VARIANT_4);
// Change BackColor of gradient fill.
shape.getFill().setBackColor(Color.YELLOW);
// Note that changes "GradientAngle" for "GradientStyle.FromCorner/GradientStyle.FromCenter"
// gradient fill don't get any effect, it will work only for linear gradient.
shape.getFill().setGradientAngle(15.0);

Assert.assertEquals(Color.YELLOW.getRGB(), shape.getFill().getBackColor().getRGB());
Assert.assertEquals(GradientStyle.FROM_CORNER, shape.getFill().getGradientStyle());
Assert.assertEquals(GradientVariant.VARIANT_4, shape.getFill().getGradientVariant());
Assert.assertEquals(0, shape.getFill().getGradientAngle());

// Use the compliance option to define the shape using DML if you want to get "GradientStyle",
// "GradientVariant" and "GradientAngle" properties after the document saves.
OoxmlSaveOptions saveOptions = new OoxmlSaveOptions(); { saveOptions.setCompliance(OoxmlCompliance.ISO_29500_2008_STRICT); }

doc.save(getArtifactsDir() + "Shape.GradientFill.docx", saveOptions);

twoColorGradient

public void twoColorGradient(java.awt.Color color1, java.awt.Color color2, int style, int variant)
Sets the specified fill to a two-color gradient.
Parameters:
color1 - The first color to build the gradient.
color2 - The second color to build the gradient.
style - A GradientStyle value. The gradient style GradientStyle.
variant - A GradientVariant value. The gradient variant GradientVariant

Example:

Shows how to fill a shape with a gradients.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertShape(ShapeType.RECTANGLE, 80.0, 80.0);
// Apply One-color gradient fill to the shape with ForeColor of gradient fill.
shape.getFill().oneColorGradient(Color.RED, GradientStyle.HORIZONTAL, GradientVariant.VARIANT_2, 0.1);

Assert.assertEquals(Color.RED.getRGB(), shape.getFill().getForeColor().getRGB());
Assert.assertEquals(GradientStyle.HORIZONTAL, shape.getFill().getGradientStyle());
Assert.assertEquals(GradientVariant.VARIANT_2, shape.getFill().getGradientVariant());
Assert.assertEquals(270, shape.getFill().getGradientAngle());

shape = builder.insertShape(ShapeType.RECTANGLE, 80.0, 80.0);
// Apply Two-color gradient fill to the shape.
shape.getFill().twoColorGradient(GradientStyle.FROM_CORNER, GradientVariant.VARIANT_4);
// Change BackColor of gradient fill.
shape.getFill().setBackColor(Color.YELLOW);
// Note that changes "GradientAngle" for "GradientStyle.FromCorner/GradientStyle.FromCenter"
// gradient fill don't get any effect, it will work only for linear gradient.
shape.getFill().setGradientAngle(15.0);

Assert.assertEquals(Color.YELLOW.getRGB(), shape.getFill().getBackColor().getRGB());
Assert.assertEquals(GradientStyle.FROM_CORNER, shape.getFill().getGradientStyle());
Assert.assertEquals(GradientVariant.VARIANT_4, shape.getFill().getGradientVariant());
Assert.assertEquals(0, shape.getFill().getGradientAngle());

// Use the compliance option to define the shape using DML if you want to get "GradientStyle",
// "GradientVariant" and "GradientAngle" properties after the document saves.
OoxmlSaveOptions saveOptions = new OoxmlSaveOptions(); { saveOptions.setCompliance(OoxmlCompliance.ISO_29500_2008_STRICT); }

doc.save(getArtifactsDir() + "Shape.GradientFill.docx", saveOptions);

See Also:
          Aspose.Words Documentation - the home page for the Aspose.Words Product Documentation.
          Aspose.Words Support Forum - our preferred method of support.