使用 JavaScript 在簡報中套用形狀效果
簡介
PowerPoint 中的效果可用於讓形狀突出,但它們不同於 填色 或輪廓。使用 PowerPoint 效果,您可以在形狀上建立逼真的倒影、擴散形狀的發光等。

PowerPoint 提供六種可套用於形狀的效果。您可以對形狀套用一種或多種效果。
某些效果的組合看起來比其他組合更佳。因此,PowerPoint 在 Preset 下提供選項。Preset 選項是兩種或以上效果的組合,已知能產生良好效果。透過選取預設組合,您无需耗费時間測試或組合不同的效果以找到合適的組合。
Aspose.Slides 在 EffectFormat 類別中提供屬性與方法,讓您能在 PowerPoint 簡報的形狀上套用相同的效果。
套用陰影效果
Aspose.Slides for Node.js via Java 支援形狀的外部與內部陰影。您可以自訂其顏色、方向、距離與模糊半徑,以符合簡報的設計。
套用外部陰影
使用外部陰影可讓卡片或面板在投影片背景上突出。陰影延伸至形狀邊緣之外,營造形狀仿佛懸浮於投影片之上的效果。調整其顏色、方向、距離與模糊半徑,以配合模板的光線與樣式。
此 JavaScript 程式碼示範如何將 外部陰影效果 套用至矩形:
const aspose = { slides: require("aspose.slides.via.java") };
const java = require("java");
const presentation = new aspose.slides.Presentation();
try {
const slide = presentation.getSlides().get_Item(0);
const shape = slide.getShapes().addAutoShape(aspose.slides.ShapeType.RoundCornerRectangle, 20, 20, 200, 100);
shape.getEffectFormat().enableOuterShadowEffect();
const color = java.newInstanceSync("java.awt.Color", 169, 169, 169);
shape.getEffectFormat().getOuterShadowEffect().getShadowColor().setColor(color);
shape.getEffectFormat().getOuterShadowEffect().setDistance(10);
shape.getEffectFormat().getOuterShadowEffect().setDirection(45);
presentation.save("shadow_effect.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}

套用內部陰影
在重現模板的視覺樣式時,使用內部陰影可為卡片或面板呈現凹陷外觀。外部陰影延伸至形狀之外,使其看起來凸起;而內部陰影則在其邊緣內側著色。
呼叫 enableInnerShadowEffect,然後設定由 getInnerShadowEffect 取得的陰影。較大的模糊半徑值會產生較柔和的邊緣。
此 JavaScript 範例建立一個淡藍色卡片,帶有深灰色內部陰影,並將其儲存為 PPTX 檔案。陰影方向為 225 度,距離為 7 點,模糊半徑為 6 點:
const aspose = { slides: require("aspose.slides.via.java") };
const java = require("java");
const presentation = new aspose.slides.Presentation();
try {
const slide = presentation.getSlides().get_Item(0);
const shape = slide.getShapes().addAutoShape(aspose.slides.ShapeType.Rectangle, 20, 20, 200, 100);
shape.getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
const fillColor = java.newInstanceSync("java.awt.Color", 173, 216, 230);
shape.getFillFormat().getSolidFillColor().setColor(fillColor);
shape.getLineFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill));
shape.getEffectFormat().enableInnerShadowEffect();
const shadow = shape.getEffectFormat().getInnerShadowEffect();
const color = java.newInstanceSync("java.awt.Color", 105, 105, 105);
shadow.getShadowColor().setColor(color);
shadow.setDirection(225);
shadow.setDistance(7);
shadow.setBlurRadius(6);
presentation.save("inner_shadow_effect.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}

若要移除內部陰影,請在形狀的 effect format 上呼叫 disableInnerShadowEffect。
套用反射效果
在 Aspose.Slides for Node.js via Java 中套用反射效果時,您可以為形狀加入鏡面般的反射,並調整距離、透明度與大小等參數。此效果可提升簡報的美感,使形狀看起來更精緻與高級。透過簡單的程式碼即可輕鬆實作,快速在多個元素上套用,達成一致的設計。
此 JavaScript 程式碼示範如何將 反射效果 套用至形狀:
const aspose = { slides: require("aspose.slides.via.java") };
const java = require("java");
const presentation = new aspose.slides.Presentation();
try {
const slide = presentation.getSlides().get_Item(0);
const shape = slide.getShapes().addAutoShape(aspose.slides.ShapeType.RoundCornerRectangle, 20, 20, 200, 100);
shape.getEffectFormat().enableReflectionEffect();
shape.getEffectFormat().getReflectionEffect().setRectangleAlign(java.newByte(aspose.slides.RectangleAlignment.Bottom));
shape.getEffectFormat().getReflectionEffect().setDirection(90);
shape.getEffectFormat().getReflectionEffect().setDistance(40);
shape.getEffectFormat().getReflectionEffect().setBlurRadius(2);
presentation.save("reflection_effect.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}

套用發光效果
在 Aspose.Slides for Node.js via Java 中為形狀套用發光效果時,您可以在形狀周圍加入柔和、發光的光暈,並調整顏色與大小等屬性。此效果可讓形狀更突出,為簡報增添吸引目光的視覺元素。透過少量程式碼即可輕鬆實作,提升投影片的整體外觀。
此 JavaScript 程式碼示範如何將 發光效果 套用至形狀:
const aspose = { slides: require("aspose.slides.via.java") };
const java = require("java");
const presentation = new aspose.slides.Presentation();
try {
const slide = presentation.getSlides().get_Item(0);
const shape = slide.getShapes().addAutoShape(aspose.slides.ShapeType.RoundCornerRectangle, 20, 20, 200, 100);
shape.getEffectFormat().enableGlowEffect();
const color = java.getStaticFieldValue("java.awt.Color", "MAGENTA");
shape.getEffectFormat().getGlowEffect().getColor().setColor(color);
shape.getEffectFormat().getGlowEffect().setRadius(15);
presentation.save("glow_effect.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}

套用柔和邊緣效果
在 Aspose.Slides for Node.js via Java 中套用柔和邊緣效果時,您可以在形狀的邊緣建立平滑、模糊的過渡。此效果增添更細緻與精緻的外觀,適合需要柔和外觀的設計。您可輕鬆調整半徑等參數,以在簡報的各種形狀上達到理想的效果。
此 JavaScript 程式碼示範如何將 柔和邊緣效果 套用至形狀:
const aspose = { slides: require("aspose.slides.via.java") };
const presentation = new aspose.slides.Presentation();
try {
const slide = presentation.getSlides().get_Item(0);
const shape = slide.getShapes().addAutoShape(aspose.slides.ShapeType.RoundCornerRectangle, 20, 20, 200, 150);
shape.getEffectFormat().enableSoftEdgeEffect();
shape.getEffectFormat().getSoftEdgeEffect().setRadius(8);
presentation.save("soft_edges_effect.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}

常見問題
我可以對同一個形狀套用多個效果嗎?
是的,您可以在單一形狀上結合不同的效果,例如陰影、反射與發光,以產生更具動態的外觀。
我可以對哪些形狀套用效果?
您可以對多種形狀套用效果,包括自動圖案、圖表、表格、圖片、SmartArt 物件、OLE 物件等。
我可以對群組形狀套用效果嗎?
是的,您可以對群組形狀套用效果。效果會套用至整個群組。