Aspose.Slides FOSS for Java mahdollistaa ammattimaisen laadun visuaalisten efektien soveltamisen PowerPoint-muotoihin täysin Java-ympäristössä, ilman Microsoft Officea eikä API-avaimia. Tässä julkaisussa esitellään kirjastossa saatavilla oleva täyttöjärjestelmä, 2D-efektit ja 3D-muotoilu.


Täyttöjärjestelmä

Jokaisella muodolla on täyttömuoto, johon pääsee getFillFormat(), ja se hallitsee, miten sen sisäosa maalataan. Viisi täyttötyyppiä kattavat PowerPointin suunnittelupaletin koko valikoiman.

Kiinteä täyttö

Yksinkertaisin täyttö, tasainen väri, jossa on valinnainen läpinäkyvyys:

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.IFillFormat;
import org.aspose.slides.foss.IGradientFormat;
import org.aspose.slides.foss.IEffectFormat;
import org.aspose.slides.foss.IThreeDFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.GradientShape;
import org.aspose.slides.foss.BevelPresetType;
import org.aspose.slides.foss.CameraPresetType;
import org.aspose.slides.foss.LightRigPresetType;
import org.aspose.slides.foss.LightingDirection;
import org.aspose.slides.foss.MaterialPresetType;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.Color;

try (Presentation prs = new Presentation()) {
    IAutoShape shape = prs.getSlides().get(0).getShapes().addAutoShape(
        ShapeType.ROUND_CORNER_RECTANGLE, 100, 100, 400, 150
    );
    shape.addTextFrame("Solid Fill");

    shape.getFillFormat().setFillType(FillType.SOLID);
    shape.getFillFormat().getSolidFillColor().setColor(new Color(30, 80, 180));

    prs.save("solid.pptx");
}

Lineaarinen liukuväri täyttö

Väriliukokset antavat sinun sekoittaa väriä toiseen muodon yli:

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.IFillFormat;
import org.aspose.slides.foss.IGradientFormat;
import org.aspose.slides.foss.IEffectFormat;
import org.aspose.slides.foss.IThreeDFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.GradientShape;
import org.aspose.slides.foss.BevelPresetType;
import org.aspose.slides.foss.CameraPresetType;
import org.aspose.slides.foss.LightRigPresetType;
import org.aspose.slides.foss.LightingDirection;
import org.aspose.slides.foss.MaterialPresetType;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.Color;

try (Presentation prs = new Presentation()) {
    IAutoShape shape = prs.getSlides().get(0).getShapes().addAutoShape(
        ShapeType.RECTANGLE, 100, 100, 400, 150
    );

    IFillFormat ff = shape.getFillFormat();
    ff.setFillType(FillType.GRADIENT);
    IGradientFormat gf = ff.getGradientFormat();
    gf.setGradientShape(GradientShape.LINEAR);
    gf.setLinearGradientAngle(90);   // top-to-bottom

    gf.getGradientStops().add(0.0f, new Color(30, 80, 180));   // top: blue
    gf.getGradientStops().add(1.0f, new Color(0, 200, 160));   // bottom: teal

    prs.save("gradient.pptx");
}

2D-visuaaliset tehosteet

Ulkoinen varjostus

Lisää puoliksi läpinäkyvä varjostus mihin tahansa muotoon:

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.IFillFormat;
import org.aspose.slides.foss.IGradientFormat;
import org.aspose.slides.foss.IEffectFormat;
import org.aspose.slides.foss.IThreeDFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.GradientShape;
import org.aspose.slides.foss.BevelPresetType;
import org.aspose.slides.foss.CameraPresetType;
import org.aspose.slides.foss.LightRigPresetType;
import org.aspose.slides.foss.LightingDirection;
import org.aspose.slides.foss.MaterialPresetType;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.Color;

try (Presentation prs = new Presentation()) {
    IAutoShape shape = prs.getSlides().get(0).getShapes().addAutoShape(
        ShapeType.ROUND_CORNER_RECTANGLE, 100, 100, 350, 150
    );
    shape.addTextFrame("Drop Shadow");

    shape.getFillFormat().setFillType(FillType.SOLID);
    shape.getFillFormat().getSolidFillColor().setColor(Color.WHITE);

    IEffectFormat ef = shape.getEffectFormat();
    ef.enableOuterShadowEffect();
    ef.getOuterShadowEffect().setBlurRadius(12);
    ef.getOuterShadowEffect().setDirection(315);   // upper-left
    ef.getOuterShadowEffect().setDistance(8);
    ef.getOuterShadowEffect().getShadowColor().setColor(new Color(100, 0, 0, 0));

    prs.save("shadow.pptx");
}

Hehkuva tehoste

Värillinen halo muodon reunassa:

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.IFillFormat;
import org.aspose.slides.foss.IGradientFormat;
import org.aspose.slides.foss.IEffectFormat;
import org.aspose.slides.foss.IThreeDFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.GradientShape;
import org.aspose.slides.foss.BevelPresetType;
import org.aspose.slides.foss.CameraPresetType;
import org.aspose.slides.foss.LightRigPresetType;
import org.aspose.slides.foss.LightingDirection;
import org.aspose.slides.foss.MaterialPresetType;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.Color;

try (Presentation prs = new Presentation()) {
    IAutoShape shape = prs.getSlides().get(0).getShapes().addAutoShape(
        ShapeType.ELLIPSE, 150, 100, 250, 250
    );
    shape.getFillFormat().setFillType(FillType.SOLID);
    shape.getFillFormat().getSolidFillColor().setColor(new Color(20, 60, 140));

    IEffectFormat ef = shape.getEffectFormat();
    ef.enableGlowEffect();
    ef.getGlowEffect().setRadius(20);
    ef.getGlowEffect().getColor().setColor(new Color(200, 0, 180, 255));

    prs.save("glow.pptx");
}

3D-muotoilu

Viistokulma ja materiaali

getThreeDFormat()-menetelmä antaa mille tahansa tasolle kolmiulotteisen ulkonäön. Yhdistä viiste kameraesiasetukseen ja materiaali saadaksesi rikkaimman tuloksen:

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.IFillFormat;
import org.aspose.slides.foss.IGradientFormat;
import org.aspose.slides.foss.IEffectFormat;
import org.aspose.slides.foss.IThreeDFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.GradientShape;
import org.aspose.slides.foss.BevelPresetType;
import org.aspose.slides.foss.CameraPresetType;
import org.aspose.slides.foss.LightRigPresetType;
import org.aspose.slides.foss.LightingDirection;
import org.aspose.slides.foss.MaterialPresetType;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.Color;

try (Presentation prs = new Presentation()) {
    IAutoShape shape = prs.getSlides().get(0).getShapes().addAutoShape(
        ShapeType.RECTANGLE, 150, 150, 300, 130
    );
    shape.addTextFrame("Metal Button");

    // Blue solid fill
    shape.getFillFormat().setFillType(FillType.SOLID);
    shape.getFillFormat().getSolidFillColor().setColor(new Color(20, 70, 160));

    // 3D bevel + camera + light + material
    IThreeDFormat tdf = shape.getThreeDFormat();
    tdf.getBevelTop().setBevelType(BevelPresetType.CIRCLE);
    tdf.getBevelTop().setWidth(10);
    tdf.getBevelTop().setHeight(5);
    tdf.getCamera().setCameraType(CameraPresetType.PERSPECTIVE_ABOVE);
    tdf.getLightRig().setLightType(LightRigPresetType.BALANCED);
    tdf.getLightRig().setDirection(LightingDirection.TOP);
    tdf.setMaterial(MaterialPresetType.METAL);
    tdf.setDepth(20);

    prs.save("metal-button.pptx");
}

Tehosteiden yhdistäminen samaan muotoon

Varjostus ja 3D-muotoilu voivat olla samassa muodossa, mahdollistaen hiotut “card”-suunnittelut:

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.IFillFormat;
import org.aspose.slides.foss.IGradientFormat;
import org.aspose.slides.foss.IEffectFormat;
import org.aspose.slides.foss.IThreeDFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.GradientShape;
import org.aspose.slides.foss.BevelPresetType;
import org.aspose.slides.foss.CameraPresetType;
import org.aspose.slides.foss.LightRigPresetType;
import org.aspose.slides.foss.LightingDirection;
import org.aspose.slides.foss.MaterialPresetType;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.Color;

try (Presentation prs = new Presentation()) {
    IAutoShape shape = prs.getSlides().get(0).getShapes().addAutoShape(
        ShapeType.ROUND_CORNER_RECTANGLE, 120, 120, 360, 150
    );
    shape.addTextFrame("Premium Card");

    // Fill
    shape.getFillFormat().setFillType(FillType.SOLID);
    shape.getFillFormat().getSolidFillColor().setColor(new Color(30, 80, 180));

    // 3D bevel
    IThreeDFormat tdf = shape.getThreeDFormat();
    tdf.getBevelTop().setBevelType(BevelPresetType.CIRCLE);
    tdf.getBevelTop().setWidth(8);
    tdf.getCamera().setCameraType(CameraPresetType.PERSPECTIVE_ABOVE);
    tdf.setMaterial(MaterialPresetType.PLASTIC);

    // Drop shadow
    IEffectFormat ef = shape.getEffectFormat();
    ef.enableOuterShadowEffect();
    ef.getOuterShadowEffect().setBlurRadius(14);
    ef.getOuterShadowEffect().setDirection(270);
    ef.getOuterShadowEffect().setDistance(8);
    ef.getOuterShadowEffect().getShadowColor().setColor(new Color(70, 0, 0, 0));

    prs.save("premium-card.pptx");
}

Asennus

<dependency>
    <groupId>org.aspose.slides.foss</groupId>
    <artifactId>aspose-slides-foss</artifactId>
    <version>1.0.0</version>
</dependency>

Ei Office-asennusta, ei lisenssiavaimia, ei verkkokutsuja; kaikki käsittely tapahtuu paikallisesti.


Liittyvät resurssit