java.lang.Objectcom.aspose.words.NodeRendererBase
public abstract class NodeRendererBase
Example:
// Open a document that contains an OfficeMath object
Document doc = new Document(getMyDir() + "Shape.OfficeMath.docx");
// Create a renderer for the OfficeMath object
OfficeMath officeMath = (OfficeMath) doc.getChild(NodeType.OFFICE_MATH, 0, true);
OfficeMathRenderer renderer = new OfficeMathRenderer(officeMath);
// We can measure the size of the image that the OfficeMath object will create when we render it
Assert.assertEquals(renderer.getSizeInPoints().getX(), 117.0, 0.1);
Assert.assertEquals(renderer.getSizeInPoints().getY(), 12.9, 0.1);
Assert.assertEquals(renderer.getBoundsInPoints().getWidth(), 117.0, 0.1);
Assert.assertEquals(renderer.getBoundsInPoints().getHeight(), 12.9, 0.1);
// Shapes with transparent parts may return different values here
Assert.assertEquals(renderer.getOpaqueBoundsInPoints().getWidth(), 117.0, 0.1);
Assert.assertEquals(renderer.getOpaqueBoundsInPoints().getHeight(), 14.7, 0.1);
// Get the shape size in pixels, with linear scaling to a specific DPI
Rectangle bounds = renderer.getBoundsInPixels(1.0f, 96.0f);
Assert.assertEquals(bounds.getWidth(), 156.0);
Assert.assertEquals(bounds.getHeight(), 18.0);
// Get the shape size in pixels, but with a different DPI for the horizontal and vertical dimensions
bounds = renderer.getBoundsInPixels(1.0f, 96.0f, 150.0f);
Assert.assertEquals(bounds.getWidth(), 156.0);
Assert.assertEquals(bounds.getHeight(), 27.0);
// The opaque bounds may vary here also
bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f);
Assert.assertEquals(bounds.getWidth(), 156.0);
Assert.assertEquals(bounds.getHeight(), 20.0);
bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f, 150.0f);
Assert.assertEquals(bounds.getWidth(), 156.0);
Assert.assertEquals(bounds.getHeight(), 31.0);
Property Getters/Setters Summary | ||
---|---|---|
java.awt.geom.Rectangle2D.Float | getBoundsInPoints() | |
Gets the actual bounds of the shape in points. | ||
java.awt.geom.Rectangle2D.Float | getOpaqueBoundsInPoints() | |
Gets the opaque bounds of the shape in points. | ||
java.awt.Dimension | getSizeInPoints() | |
Gets the actual size of the shape in points. |
Method Summary | ||
---|---|---|
java.awt.Rectangle | getBoundsInPixels(float scale, float dpi) | |
Calculates the bounds of the shape in pixels for a specified zoom factor and resolution. | ||
java.awt.Rectangle | getBoundsInPixels(float scale, float horizontalDpi, float verticalDpi) | |
Calculates the bounds of the shape in pixels for a specified zoom factor and resolution. | ||
java.awt.Rectangle | getOpaqueBoundsInPixels(float scale, float dpi) | |
Calculates the opaque bounds of the shape in pixels for a specified zoom factor and resolution. | ||
java.awt.Rectangle | getOpaqueBoundsInPixels(float scale, float horizontalDpi, float verticalDpi) | |
Calculates the opaque bounds of the shape in pixels for a specified zoom factor and resolution. | ||
java.awt.Dimension | getSizeInPixels(float scale, float dpi) | |
Calculates the size of the shape in pixels for a specified zoom factor and resolution. | ||
java.awt.Dimension | getSizeInPixels(float scale, float horizontalDpi, float verticalDpi) | |
Calculates the size of the shape in pixels for a specified zoom factor and resolution. | ||
java.awt.geom.Point2D.Float | renderToScale(java.awt.Graphics2D graphics, float x, float y, float scale) | |
Renders the shape into a |
||
float | renderToSize(java.awt.Graphics2D graphics, float x, float y, float width, float height) | |
Renders the shape into a |
||
void | save(java.io.OutputStream stream, ImageSaveOptions saveOptions) | |
Renders the shape into an image and saves into a stream. | ||
void | save(java.lang.String fileName, ImageSaveOptions saveOptions) | |
Renders the shape into an image and saves into a file. |
Property Getters/Setters Detail |
---|
getBoundsInPoints | |
public java.awt.geom.Rectangle2D.Float getBoundsInPoints() |
This property returns the actual (as rendered on the page) bounding box of the shape. The bounds takes into account shape rotation (if any).
Example:
Shows how to measure and scale shapes.// Open a document that contains an OfficeMath object Document doc = new Document(getMyDir() + "Shape.OfficeMath.docx"); // Create a renderer for the OfficeMath object OfficeMath officeMath = (OfficeMath) doc.getChild(NodeType.OFFICE_MATH, 0, true); OfficeMathRenderer renderer = new OfficeMathRenderer(officeMath); // We can measure the size of the image that the OfficeMath object will create when we render it Assert.assertEquals(renderer.getSizeInPoints().getX(), 117.0, 0.1); Assert.assertEquals(renderer.getSizeInPoints().getY(), 12.9, 0.1); Assert.assertEquals(renderer.getBoundsInPoints().getWidth(), 117.0, 0.1); Assert.assertEquals(renderer.getBoundsInPoints().getHeight(), 12.9, 0.1); // Shapes with transparent parts may return different values here Assert.assertEquals(renderer.getOpaqueBoundsInPoints().getWidth(), 117.0, 0.1); Assert.assertEquals(renderer.getOpaqueBoundsInPoints().getHeight(), 14.7, 0.1); // Get the shape size in pixels, with linear scaling to a specific DPI Rectangle bounds = renderer.getBoundsInPixels(1.0f, 96.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 18.0); // Get the shape size in pixels, but with a different DPI for the horizontal and vertical dimensions bounds = renderer.getBoundsInPixels(1.0f, 96.0f, 150.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 27.0); // The opaque bounds may vary here also bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 20.0); bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f, 150.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 31.0);
getOpaqueBoundsInPoints | |
public java.awt.geom.Rectangle2D.Float getOpaqueBoundsInPoints() |
This property returns the opaque (i.e. transparent parts of the shape are ignored) bounding box of the shape. The bounds takes the shape rotation into account.
Example:
Shows how to measure and scale shapes.// Open a document that contains an OfficeMath object Document doc = new Document(getMyDir() + "Shape.OfficeMath.docx"); // Create a renderer for the OfficeMath object OfficeMath officeMath = (OfficeMath) doc.getChild(NodeType.OFFICE_MATH, 0, true); OfficeMathRenderer renderer = new OfficeMathRenderer(officeMath); // We can measure the size of the image that the OfficeMath object will create when we render it Assert.assertEquals(renderer.getSizeInPoints().getX(), 117.0, 0.1); Assert.assertEquals(renderer.getSizeInPoints().getY(), 12.9, 0.1); Assert.assertEquals(renderer.getBoundsInPoints().getWidth(), 117.0, 0.1); Assert.assertEquals(renderer.getBoundsInPoints().getHeight(), 12.9, 0.1); // Shapes with transparent parts may return different values here Assert.assertEquals(renderer.getOpaqueBoundsInPoints().getWidth(), 117.0, 0.1); Assert.assertEquals(renderer.getOpaqueBoundsInPoints().getHeight(), 14.7, 0.1); // Get the shape size in pixels, with linear scaling to a specific DPI Rectangle bounds = renderer.getBoundsInPixels(1.0f, 96.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 18.0); // Get the shape size in pixels, but with a different DPI for the horizontal and vertical dimensions bounds = renderer.getBoundsInPixels(1.0f, 96.0f, 150.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 27.0); // The opaque bounds may vary here also bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 20.0); bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f, 150.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 31.0);
getSizeInPoints | |
public java.awt.Dimension getSizeInPoints() |
This property returns the size of the actual (as rendered on the page) bounding box of the shape. The size takes into account shape rotation (if any).
Example:
Shows how to measure and scale shapes.// Open a document that contains an OfficeMath object Document doc = new Document(getMyDir() + "Shape.OfficeMath.docx"); // Create a renderer for the OfficeMath object OfficeMath officeMath = (OfficeMath) doc.getChild(NodeType.OFFICE_MATH, 0, true); OfficeMathRenderer renderer = new OfficeMathRenderer(officeMath); // We can measure the size of the image that the OfficeMath object will create when we render it Assert.assertEquals(renderer.getSizeInPoints().getX(), 117.0, 0.1); Assert.assertEquals(renderer.getSizeInPoints().getY(), 12.9, 0.1); Assert.assertEquals(renderer.getBoundsInPoints().getWidth(), 117.0, 0.1); Assert.assertEquals(renderer.getBoundsInPoints().getHeight(), 12.9, 0.1); // Shapes with transparent parts may return different values here Assert.assertEquals(renderer.getOpaqueBoundsInPoints().getWidth(), 117.0, 0.1); Assert.assertEquals(renderer.getOpaqueBoundsInPoints().getHeight(), 14.7, 0.1); // Get the shape size in pixels, with linear scaling to a specific DPI Rectangle bounds = renderer.getBoundsInPixels(1.0f, 96.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 18.0); // Get the shape size in pixels, but with a different DPI for the horizontal and vertical dimensions bounds = renderer.getBoundsInPixels(1.0f, 96.0f, 150.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 27.0); // The opaque bounds may vary here also bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 20.0); bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f, 150.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 31.0);
Method Detail |
---|
getBoundsInPixels | |
public java.awt.Rectangle getBoundsInPixels(float scale, float dpi) |
This method converts
scale
- The zoom factor (1.0 is 100%).dpi
- The resolution (horizontal and vertical) to convert from points to pixels (dots per inch).Example:
Shows how to measure and scale shapes.// Open a document that contains an OfficeMath object Document doc = new Document(getMyDir() + "Shape.OfficeMath.docx"); // Create a renderer for the OfficeMath object OfficeMath officeMath = (OfficeMath) doc.getChild(NodeType.OFFICE_MATH, 0, true); OfficeMathRenderer renderer = new OfficeMathRenderer(officeMath); // We can measure the size of the image that the OfficeMath object will create when we render it Assert.assertEquals(renderer.getSizeInPoints().getX(), 117.0, 0.1); Assert.assertEquals(renderer.getSizeInPoints().getY(), 12.9, 0.1); Assert.assertEquals(renderer.getBoundsInPoints().getWidth(), 117.0, 0.1); Assert.assertEquals(renderer.getBoundsInPoints().getHeight(), 12.9, 0.1); // Shapes with transparent parts may return different values here Assert.assertEquals(renderer.getOpaqueBoundsInPoints().getWidth(), 117.0, 0.1); Assert.assertEquals(renderer.getOpaqueBoundsInPoints().getHeight(), 14.7, 0.1); // Get the shape size in pixels, with linear scaling to a specific DPI Rectangle bounds = renderer.getBoundsInPixels(1.0f, 96.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 18.0); // Get the shape size in pixels, but with a different DPI for the horizontal and vertical dimensions bounds = renderer.getBoundsInPixels(1.0f, 96.0f, 150.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 27.0); // The opaque bounds may vary here also bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 20.0); bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f, 150.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 31.0);
getBoundsInPixels | |
public java.awt.Rectangle getBoundsInPixels(float scale, float horizontalDpi, float verticalDpi) |
This method converts
scale
- The zoom factor (1.0 is 100%).horizontalDpi
- The horizontal resolution to convert from points to pixels (dots per inch).verticalDpi
- The vertical resolution to convert from points to pixels (dots per inch).Example:
Shows how to measure and scale shapes.// Open a document that contains an OfficeMath object Document doc = new Document(getMyDir() + "Shape.OfficeMath.docx"); // Create a renderer for the OfficeMath object OfficeMath officeMath = (OfficeMath) doc.getChild(NodeType.OFFICE_MATH, 0, true); OfficeMathRenderer renderer = new OfficeMathRenderer(officeMath); // We can measure the size of the image that the OfficeMath object will create when we render it Assert.assertEquals(renderer.getSizeInPoints().getX(), 117.0, 0.1); Assert.assertEquals(renderer.getSizeInPoints().getY(), 12.9, 0.1); Assert.assertEquals(renderer.getBoundsInPoints().getWidth(), 117.0, 0.1); Assert.assertEquals(renderer.getBoundsInPoints().getHeight(), 12.9, 0.1); // Shapes with transparent parts may return different values here Assert.assertEquals(renderer.getOpaqueBoundsInPoints().getWidth(), 117.0, 0.1); Assert.assertEquals(renderer.getOpaqueBoundsInPoints().getHeight(), 14.7, 0.1); // Get the shape size in pixels, with linear scaling to a specific DPI Rectangle bounds = renderer.getBoundsInPixels(1.0f, 96.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 18.0); // Get the shape size in pixels, but with a different DPI for the horizontal and vertical dimensions bounds = renderer.getBoundsInPixels(1.0f, 96.0f, 150.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 27.0); // The opaque bounds may vary here also bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 20.0); bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f, 150.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 31.0);
getOpaqueBoundsInPixels | |
public java.awt.Rectangle getOpaqueBoundsInPixels(float scale, float dpi) throws java.lang.Exception |
This method converts
scale
- The zoom factor (1.0 is 100%).dpi
- The resolution to convert from points to pixels (dots per inch).Example:
Shows how to measure and scale shapes.// Open a document that contains an OfficeMath object Document doc = new Document(getMyDir() + "Shape.OfficeMath.docx"); // Create a renderer for the OfficeMath object OfficeMath officeMath = (OfficeMath) doc.getChild(NodeType.OFFICE_MATH, 0, true); OfficeMathRenderer renderer = new OfficeMathRenderer(officeMath); // We can measure the size of the image that the OfficeMath object will create when we render it Assert.assertEquals(renderer.getSizeInPoints().getX(), 117.0, 0.1); Assert.assertEquals(renderer.getSizeInPoints().getY(), 12.9, 0.1); Assert.assertEquals(renderer.getBoundsInPoints().getWidth(), 117.0, 0.1); Assert.assertEquals(renderer.getBoundsInPoints().getHeight(), 12.9, 0.1); // Shapes with transparent parts may return different values here Assert.assertEquals(renderer.getOpaqueBoundsInPoints().getWidth(), 117.0, 0.1); Assert.assertEquals(renderer.getOpaqueBoundsInPoints().getHeight(), 14.7, 0.1); // Get the shape size in pixels, with linear scaling to a specific DPI Rectangle bounds = renderer.getBoundsInPixels(1.0f, 96.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 18.0); // Get the shape size in pixels, but with a different DPI for the horizontal and vertical dimensions bounds = renderer.getBoundsInPixels(1.0f, 96.0f, 150.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 27.0); // The opaque bounds may vary here also bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 20.0); bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f, 150.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 31.0);
getOpaqueBoundsInPixels | |
public java.awt.Rectangle getOpaqueBoundsInPixels(float scale, float horizontalDpi, float verticalDpi) throws java.lang.Exception |
This method converts
scale
- The zoom factor (1.0 is 100%).horizontalDpi
- The horizontal resolution to convert from points to pixels (dots per inch).verticalDpi
- The vertical resolution to convert from points to pixels (dots per inch).Example:
Shows how to measure and scale shapes.// Open a document that contains an OfficeMath object Document doc = new Document(getMyDir() + "Shape.OfficeMath.docx"); // Create a renderer for the OfficeMath object OfficeMath officeMath = (OfficeMath) doc.getChild(NodeType.OFFICE_MATH, 0, true); OfficeMathRenderer renderer = new OfficeMathRenderer(officeMath); // We can measure the size of the image that the OfficeMath object will create when we render it Assert.assertEquals(renderer.getSizeInPoints().getX(), 117.0, 0.1); Assert.assertEquals(renderer.getSizeInPoints().getY(), 12.9, 0.1); Assert.assertEquals(renderer.getBoundsInPoints().getWidth(), 117.0, 0.1); Assert.assertEquals(renderer.getBoundsInPoints().getHeight(), 12.9, 0.1); // Shapes with transparent parts may return different values here Assert.assertEquals(renderer.getOpaqueBoundsInPoints().getWidth(), 117.0, 0.1); Assert.assertEquals(renderer.getOpaqueBoundsInPoints().getHeight(), 14.7, 0.1); // Get the shape size in pixels, with linear scaling to a specific DPI Rectangle bounds = renderer.getBoundsInPixels(1.0f, 96.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 18.0); // Get the shape size in pixels, but with a different DPI for the horizontal and vertical dimensions bounds = renderer.getBoundsInPixels(1.0f, 96.0f, 150.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 27.0); // The opaque bounds may vary here also bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 20.0); bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f, 150.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 31.0);
getSizeInPixels | |
public java.awt.Dimension getSizeInPixels(float scale, float dpi) |
This method converts
scale
- The zoom factor (1.0 is 100%).dpi
- The resolution (horizontal and vertical) to convert from points to pixels (dots per inch).Example:
Shows how to measure and scale shapes.// Open a document that contains an OfficeMath object Document doc = new Document(getMyDir() + "Shape.OfficeMath.docx"); // Create a renderer for the OfficeMath object OfficeMath officeMath = (OfficeMath) doc.getChild(NodeType.OFFICE_MATH, 0, true); OfficeMathRenderer renderer = new OfficeMathRenderer(officeMath); // We can measure the size of the image that the OfficeMath object will create when we render it Assert.assertEquals(renderer.getSizeInPoints().getX(), 117.0, 0.1); Assert.assertEquals(renderer.getSizeInPoints().getY(), 12.9, 0.1); Assert.assertEquals(renderer.getBoundsInPoints().getWidth(), 117.0, 0.1); Assert.assertEquals(renderer.getBoundsInPoints().getHeight(), 12.9, 0.1); // Shapes with transparent parts may return different values here Assert.assertEquals(renderer.getOpaqueBoundsInPoints().getWidth(), 117.0, 0.1); Assert.assertEquals(renderer.getOpaqueBoundsInPoints().getHeight(), 14.7, 0.1); // Get the shape size in pixels, with linear scaling to a specific DPI Rectangle bounds = renderer.getBoundsInPixels(1.0f, 96.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 18.0); // Get the shape size in pixels, but with a different DPI for the horizontal and vertical dimensions bounds = renderer.getBoundsInPixels(1.0f, 96.0f, 150.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 27.0); // The opaque bounds may vary here also bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 20.0); bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f, 150.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 31.0);
getSizeInPixels | |
public java.awt.Dimension getSizeInPixels(float scale, float horizontalDpi, float verticalDpi) |
This method converts
scale
- The zoom factor (1.0 is 100%).horizontalDpi
- The horizontal resolution to convert from points to pixels (dots per inch).verticalDpi
- The vertical resolution to convert from points to pixels (dots per inch).Example:
Shows how to measure and scale shapes.// Open a document that contains an OfficeMath object Document doc = new Document(getMyDir() + "Shape.OfficeMath.docx"); // Create a renderer for the OfficeMath object OfficeMath officeMath = (OfficeMath) doc.getChild(NodeType.OFFICE_MATH, 0, true); OfficeMathRenderer renderer = new OfficeMathRenderer(officeMath); // We can measure the size of the image that the OfficeMath object will create when we render it Assert.assertEquals(renderer.getSizeInPoints().getX(), 117.0, 0.1); Assert.assertEquals(renderer.getSizeInPoints().getY(), 12.9, 0.1); Assert.assertEquals(renderer.getBoundsInPoints().getWidth(), 117.0, 0.1); Assert.assertEquals(renderer.getBoundsInPoints().getHeight(), 12.9, 0.1); // Shapes with transparent parts may return different values here Assert.assertEquals(renderer.getOpaqueBoundsInPoints().getWidth(), 117.0, 0.1); Assert.assertEquals(renderer.getOpaqueBoundsInPoints().getHeight(), 14.7, 0.1); // Get the shape size in pixels, with linear scaling to a specific DPI Rectangle bounds = renderer.getBoundsInPixels(1.0f, 96.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 18.0); // Get the shape size in pixels, but with a different DPI for the horizontal and vertical dimensions bounds = renderer.getBoundsInPixels(1.0f, 96.0f, 150.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 27.0); // The opaque bounds may vary here also bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 20.0); bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f, 150.0f); Assert.assertEquals(bounds.getWidth(), 156.0); Assert.assertEquals(bounds.getHeight(), 31.0);
renderToScale | |
public java.awt.geom.Point2D.Float renderToScale(java.awt.Graphics2D graphics, float x, float y, float scale) throws java.lang.Exception |
graphics
- The object where to render to.x
- The X coordinate (in world units) of the top left corner of the rendered shape.y
- The Y coordinate (in world units) of the top left corner of the rendered shape.scale
- The scale for rendering the shape (1.0 is 100%).Example:
Shows how to render a shape with a Graphics object.public static class JFrameGraphics extends JPanel { public void paint(Graphics graphics) { try { // Open a document and get its first shape, which is a chart Document doc = new Document(getMyDir() + "Shape.VarietyOfShapes.docx"); Shape shape = (Shape) doc.getChild(NodeType.SHAPE, 1, true); // Create a ShapeRenderer instance and a Graphics object // The ShapeRenderer will render the shape that is passed during construction over the Graphics object // Whatever is rendered on this Graphics object will be displayed on the screen inside this form ShapeRenderer renderer = new ShapeRenderer(shape); // Call this method on the renderer to render the chart in the passed Graphics object, // on a specified x/y coordinate and scale renderer.renderToScale((Graphics2D) graphics, 0f, 0f, 1.5f); // Get another shape from the document, and render it to a specific size instead of a linear scale GroupShape groupShape = (GroupShape) doc.getChild(NodeType.GROUP_SHAPE, 0, true); renderer = new ShapeRenderer(groupShape); renderer.renderToSize((Graphics2D) graphics, 500f, 400f, 100f, 200f); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { // Create windows form for present shapes JFrame frame = new JFrame("Aspose example"); frame.getContentPane().add(new JFrameGraphics()); frame.setSize(1000, 800); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setResizable(false); }
renderToSize | |
public float renderToSize(java.awt.Graphics2D graphics, float x, float y, float width, float height) throws java.lang.Exception |
graphics
- The object where to render to.x
- The X coordinate (in world units) of the top left corner of the rendered shape.y
- The Y coordinate (in world units) of the top left corner of the rendered shape.width
- The maximum width (in world units) that can be occupied by the rendered shape.height
- The maximum height (in world units) that can be occupied by the rendered shape.Example:
Shows how to render a shape with a Graphics object.public static class JFrameGraphics extends JPanel { public void paint(Graphics graphics) { try { // Open a document and get its first shape, which is a chart Document doc = new Document(getMyDir() + "Shape.VarietyOfShapes.docx"); Shape shape = (Shape) doc.getChild(NodeType.SHAPE, 1, true); // Create a ShapeRenderer instance and a Graphics object // The ShapeRenderer will render the shape that is passed during construction over the Graphics object // Whatever is rendered on this Graphics object will be displayed on the screen inside this form ShapeRenderer renderer = new ShapeRenderer(shape); // Call this method on the renderer to render the chart in the passed Graphics object, // on a specified x/y coordinate and scale renderer.renderToScale((Graphics2D) graphics, 0f, 0f, 1.5f); // Get another shape from the document, and render it to a specific size instead of a linear scale GroupShape groupShape = (GroupShape) doc.getChild(NodeType.GROUP_SHAPE, 0, true); renderer = new ShapeRenderer(groupShape); renderer.renderToSize((Graphics2D) graphics, 500f, 400f, 100f, 200f); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { // Create windows form for present shapes JFrame frame = new JFrame("Aspose example"); frame.getContentPane().add(new JFrameGraphics()); frame.setSize(1000, 800); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setResizable(false); }
save | |
public void save(java.io.OutputStream stream, ImageSaveOptions saveOptions) throws java.lang.Exception |
stream
- The stream where to save the image of the shape.saveOptions
- Specifies the options that control how the shape is rendered and saved. Can be null.
If this is null, the image will be saved in the PNG format.Example:
Shows how to export shapes to files in the local file system using a shape renderer.// Open a document that contains shapes and get its shape collection Document doc = new Document(getMyDir() + "Shape.VarietyOfShapes.docx"); NodeCollection shapes = doc.getChildNodes(NodeType.SHAPE, true); Assert.assertEquals(7, shapes.getCount()); // There are 7 shapes in the document, with one group shape with 2 child shapes // The child shapes will be rendered but their parent group shape will be skipped, so we will see 6 output files for (Shape shape : (Iterable<Shape>) shapes) { ShapeRenderer renderer = shape.getShapeRenderer(); ImageSaveOptions options = new ImageSaveOptions(SaveFormat.PNG); renderer.save(getArtifactsDir() + MessageFormat.format("Shape.ShapeRenderer {0}.png", shape.getName()), options); }
save | |
public void save(java.lang.String fileName, ImageSaveOptions saveOptions) throws java.lang.Exception |
fileName
- The name for the image file. If a file with the specified name already exists, the existing file is overwritten.saveOptions
- Specifies the options that control how the shape is rendered and saved. Can be null.Example:
Shows how to convert specific object into imageDocument doc = new Document(getMyDir() + "Shape.OfficeMath.docx"); //Get OfficeMath node from the document and render this as image (you can also do the same with the Shape node) OfficeMath math = (OfficeMath) doc.getChild(NodeType.OFFICE_MATH, 0, true); math.getMathRenderer().save(getArtifactsDir() + "Shape.OfficeMath.svg", new ImageSaveOptions(SaveFormat.SVG));