สร้างแผนภูมิ PowerPoint แบบเคลื่อนไหวใน .NET
บทนำ
Aspose.Slides for .NET รองรับการเคลื่อนไหวขององค์ประกอบแผนภูมิ. Series, Categories, Series Elements, Categories Elements สามารถเคลื่อนไหวได้ด้วยเมธอด ISequence.AddEffect และสอง enum EffectChartMajorGroupingType และ EffectChartMinorGroupingType.
การเคลื่อนไหวของซีรีส์แผนภูมิ
หากคุณต้องการเคลื่อนไหวซีรีส์แผนภูมิ ให้เขียนโค้ดตามขั้นตอนที่ระบุด้านล่าง:
- โหลดงานนำเสนอ
- รับอ้างอิงของวัตถุแผนภูมิ
- เคลื่อนไหวซีรีส์
- บันทึกไฟล์งานนำเสนอลงดิสก์
ในตัวอย่างที่ให้ด้านล่าง เราได้เคลื่อนไหวซีรีส์แผนภูมิ
// สร้างคลาส Presentation ที่เป็นตัวแทนของไฟล์งานนำเสนอ
using (Presentation presentation = new Presentation("ExistingChart.pptx"))
{
// รับอ้างอิงของอ็อบเจ็กต์แผนภูมิ
var slide = presentation.Slides[0] as Slide;
var shapes = slide.Shapes as ShapeCollection;
var chart = shapes[0] as IChart;
// เคลื่อนไหวซีรีส์
slide.Timeline.MainSequence.AddEffect(chart, EffectType.Fade, EffectSubtype.None,
EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
EffectChartMajorGroupingType.BySeries, 0,
EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
EffectChartMajorGroupingType.BySeries, 1,
EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
EffectChartMajorGroupingType.BySeries, 2,
EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
EffectChartMajorGroupingType.BySeries, 3,
EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
// บันทึกงานนำเสนอที่แก้ไขลงดิสก์
presentation.Save("AnimatingSeries_out.pptx", SaveFormat.Pptx);
}
การเคลื่อนไหวของหมวดหมู่แผนภูมิ
หากคุณต้องการเคลื่อนไหวหมวดหมู่แผนภูมิ ให้เขียนโค้ดตามขั้นตอนที่ระบุด้านล่าง:
- โหลดงานนำเสนอ
- รับอ้างอิงของวัตถุแผนภูมิ
- เคลื่อนไหวหมวดหมู่
- บันทึกไฟล์งานนำเสนอลงดิสก์
ในตัวอย่างที่ให้ด้านล่าง เราได้เคลื่อนไหวหมวดหมู่แผนภูมิ
using (Presentation presentation = new Presentation("ExistingChart.pptx"))
{
// รับอ้างอิงของอ็อบเจ็กต์แผนภูมิ
var slide = presentation.Slides[0] as Slide;
var shapes = slide.Shapes as ShapeCollection;
var chart = shapes[0] as IChart;
// เคลื่อนไหวองค์ประกอบของหมวดหมู่
slide.Timeline.MainSequence.AddEffect(chart, EffectType.Fade, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 0, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 0, 1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 0, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 0, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 1, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 1, 1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 1, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 1, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
// บันทึกไฟล์งานนำเสนอลงดิสก์
presentation.Save("AnimatingCategoriesElements_out.pptx", SaveFormat.Pptx);
}
การเคลื่อนไหวในองค์ประกอบซีรีส์
หากคุณต้องการเคลื่อนไหวองค์ประกอบของซีรีส์ ให้เขียนโค้ดตามขั้นตอนที่ระบุด้านล่าง:
- โหลดงานนำเสนอ
- รับอ้างอิงของวัตถุแผนภูมิ
- เคลื่อนไหวองค์ประกอบของซีรีส์
- บันทึกไฟล์งานนำเสนอลงดิสก์
ในตัวอย่างที่ให้ด้านล่าง เราได้เคลื่อนไหวองค์ประกอบของซีรีส์
// โหลดงานนำเสนอ
using (Presentation presentation = new Presentation("ExistingChart.pptx"))
{
// รับอ้างอิงของอ็อบเจ็กต์แผนภูมิ
var slide = presentation.Slides[0] as Slide;
var shapes = slide.Shapes as ShapeCollection;
var chart = shapes[0] as IChart;
// เคลื่อนไหวองค์ประกอบของซีรีส์
slide.Timeline.MainSequence.AddEffect(chart, EffectType.Fade, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 0, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 0, 1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 0, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 0, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 1, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 1, 1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 1, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 1, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
// บันทึกไฟล์งานนำเสนอลงดิสก์
presentation.Save("AnimatingSeriesElements_out.pptx", SaveFormat.Pptx);
การเคลื่อนไหวในองค์ประกอบหมวดหมู่
หากคุณต้องการเคลื่อนไหวองค์ประกอบของหมวดหมู่ ให้เขียนโค้ดตามขั้นตอนที่ระบุด้านล่าง:
- โหลดงานนำเสนอ
- รับอ้างอิงของวัตถุแผนภูมิ
- เคลื่อนไหวองค์ประกอบของหมวดหมู่
- บันทึกไฟล์งานนำเสนอลงดิสก์
ในตัวอย่างที่ให้ด้านล่าง เราได้เคลื่อนไหวองค์ประกอบของหมวดหมู่
using (Presentation presentation = new Presentation("ExistingChart.pptx"))
{
// รับอ้างอิงของอ็อบเจ็กต์แผนภูมิ
var slide = presentation.Slides[0] as Slide;
var shapes = slide.Shapes as ShapeCollection;
var chart = shapes[0] as IChart;
// เคลื่อนไหวองค์ประกอบของหมวดหมู่
slide.Timeline.MainSequence.AddEffect(chart, EffectType.Fade, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 0, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 0, 1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 0, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 0, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 1, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 1, 1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 1, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 1, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
// บันทึกไฟล์งานนำเสนอลงดิสก์
presentation.Save("AnimatingCategoriesElements_out.pptx", SaveFormat.Pptx);
}
คำถามที่พบบ่อย
ประเภทเอฟเฟกต์ที่ต่างกัน (เช่น, เข้าสู่, เน้น, ออกจาก) รองรับสำหรับแผนภูมิเช่นเดียวกับรูปทรงธรรมดาไหม?
ใช่. แผนภูมิถือเป็นรูปทรงหนึ่ง ดังนั้นจึงรองรับประเภทเอฟเฟกต์การเคลื่อนไหวมาตรฐาน รวมถึงการเข้าสู่, เน้น, และออก, พร้อมการควบคุมเต็มรูปแบบผ่านไทม์ไลน์ของสไลด์และลำดับการเคลื่อนไหว.
ฉันสามารถรวมการเคลื่อนไหวของแผนภูมิพร้อมกับการเปลี่ยนสไลด์ได้หรือไม่?
ใช่. Transitions ใช้กับสไลด์ ในขณะที่เอฟเฟกต์การเคลื่อนไหวใช้กับวัตถุบนสไลด์ คุณสามารถใช้ทั้งสองพร้อมกันในงานนำเสนอเดียวและควบคุมแยกกันได้.
การเคลื่อนไหวของแผนภูมิจะคงอยู่เมื่อตบลงเป็น PPTX หรือไม่?
ใช่. เมื่อคุณ save to PPTX เอฟเฟกต์การเคลื่อนไหวทั้งหมดและลำดับของมันจะถูกเก็บไว้เนื่องจากเป็นส่วนหนึ่งของโมเดลการเคลื่อนไหวดั้งเดิมของงานนำเสนอ.
ฉันสามารถอ่านการเคลื่อนไหวของแผนภูมิที่มีอยู่จากงานนำเสนอและแก้ไขได้หรือไม่?
ใช่. API ให้เข้าถึงไทม์ไลน์ของสไลด์, ลำดับ, และเอฟเฟกต์ ทำให้คุณสามารถตรวจสอบการเคลื่อนไหวของแผนภูมิที่มีอยู่และปรับเปลี่ยนได้โดยไม่ต้องสร้างทุกอย่างใหม่ตั้งแต่ต้น.
ฉันสามารถสร้างวิดีโอที่รวมการเคลื่อนไหวของแผนภูมิโดยใช้ Aspose.Slides ได้หรือไม่?
ใช่. คุณสามารถ export a presentation to video พร้อมเก็บการเคลื่อนไหวไว้ กำหนดเวลาและการตั้งค่าอื่น ๆ ของการส่งออก เพื่อให้คลิปที่ได้สะท้อนการเล่นแบบเคลื่อนไหว.