สร้างภาพย่อของรูปร่างพรีเซนเทชันใน Java

บทนำ

Aspose.Slides for Java สามารถใช้สร้างไฟล์พรีเซนเทชันที่แต่ละหน้าตรงกับสไลด์ได้ สไลด์สามารถดูได้โดยเปิดไฟล์พรีเซนเทชันด้วย Microsoft PowerPoint อย่างไรก็ตามนักพัฒนาบางครั้งต้องการดูรูปภาพของรูปร่างแยกออกในโปรแกรมดูรูปภาพ ในกรณีดังกล่าว Aspose.Slides for Java ช่วยให้พวกเขาสร้างภาพย่อของรูปร่างในสไลด์ได้

บทความนี้อธิบายวิธีการสร้างภาพย่อของสไลด์ในหลายวิธี:

  • สร้างภาพย่อของรูปร่างภายในสไลด์
  • สร้างภาพย่อของรูปร่างในสไลด์โดยกำหนดขนาดตามผู้ใช้
  • สร้างภาพย่อของรูปร่างภายในขอบเขตการแสดงผลของรูปร่าง

สร้างภาพย่อของรูปร่างจากสไลด์

เพื่อสร้างภาพย่อของรูปร่างจากสไลด์ใด ๆ ด้วย Aspose.Slides for Java ทำตามขั้นตอนต่อไปนี้:

  1. สร้างอินสแตนซ์ของคลาส Presentation
  2. ดึงอ้างอิงของสไลด์ใด ๆ ด้วย ID หรือ index ของมัน
  3. รับภาพย่อของรูปร่าง ของสไลด์ที่อ้างอิงโดยใช้สเกลค่าเริ่มต้น
  4. บันทึกภาพย่อในรูปแบบภาพที่คุณต้องการ

โค้ดตัวอย่างต่อไปนี้แสดงวิธีสร้างภาพย่อของรูปร่างจากสไลด์:

// สร้างอินสแตนซ์ของคลาส Presentation ที่แสดงไฟล์พรีเซนเทชัน
Presentation pres = new Presentation("Thumbnail.pptx");
try {
    // สร้างภาพเต็มสเกล
    IImage slideImage = pres.getSlides().get_Item(0).getShapes().get_Item(0).getImage();
    
    // บันทึกภาพลงดิสก์ในรูปแบบ PNG
    try {
          slideImage.save("output.png", ImageFormat.Png);
    } finally {
         if (slideImage != null) slideImage.dispose();
    }
} finally {
    if (pres != null) pres.dispose();
}

สร้างภาพย่อด้วยอัตราส่วนการขยายที่กำหนดโดยผู้ใช้

เพื่อสร้างภาพย่อของรูปร่างในสไลด์ด้วย Aspose.Slides for Java ทำตามขั้นตอนต่อไปนี้:

  1. สร้างอินสแตนซ์ของคลาส Presentation
  2. ดึงอ้างอิงของสไลด์ใด ๆ ด้วย ID หรือ index ของมัน
  3. รับภาพย่อของรูปร่าง ของสไลด์ที่อ้างอิงด้วยขนาดที่กำหนดโดยผู้ใช้
  4. บันทึกภาพย่อในรูปแบบภาพที่คุณต้องการ

โค้ดตัวอย่างต่อไปนี้แสดงวิธีสร้างภาพย่อของรูปร่างโดยอิงจากอัตราส่วนการขยายที่กำหนด:

// สร้างอินสแตนซ์ของคลาส Presentation ที่แทนไฟล์พรีเซนเทชัน
Presentation pres = new Presentation("Thumbnail.pptx");
try {
    // สร้างภาพเต็มสเกล
    IImage slideImage = pres.getSlides().get_Item(0).getShapes().get_Item(0).getImage(ShapeThumbnailBounds.Shape, 1, 1);

    // บันทึกภาพลงดิสก์ในรูปแบบ PNG
    try {
          slideImage.save("output.png", ImageFormat.Png);
    } finally {
         if (slideImage != null) slideImage.dispose();
    }
} finally {
    if (pres != null) pres.dispose();
}

สร้างภาพย่อของรูปร่างตามขอบเขตการแสดงผล

วิธีนี้ในการสร้างภาพย่อของรูปร่างช่วยให้นักพัฒนาสามารถสร้างภาพย่อภายในขอบเขตการแสดงผลของรูปร่างได้ โดยคำนึงถึงเอฟเฟกต์ทั้งหมดของรูปร่าง ภาพย่อที่สร้างจะถูกจำกัดโดยขอบเขตของสไลด์ เพื่อสร้างภาพย่อของรูปร่างสไลด์ภายในขอบเขตการแสดงผลทำตามขั้นตอนต่อไปนี้:

  1. สร้างอินสแตนซ์ของคลาส Presentation
  2. ดึงอ้างอิงของสไลด์ใด ๆ ด้วย ID หรือ index ของมัน
  3. ดึงภาพย่อของสไลด์ที่อ้างอิงโดยใช้ขอบเขตรูปร่างเป็นการแสดงผล
  4. บันทึกภาพย่อในรูปแบบภาพที่คุณต้องการ

โค้ดตัวอย่างต่อไปนี้อ้างอิงจากขั้นตอนข้างต้น:

// สร้างอินสแตนซ์ของคลาส Presentation ที่แทนไฟล์พรีเซนเทชัน
Presentation pres = new Presentation("Thumbnail.pptx");
try {
    // สร้างภาพเต็มสเกล
    IImage slideImage = pres.getSlides().get_Item(0).getShapes().get_Item(0).getImage(ShapeThumbnailBounds.Appearance, 1, 1);

    // บันทึกภาพลงดิสก์ในรูปแบบ PNG
    try {
          slideImage.save("output.png", ImageFormat.Png);
    } finally {
         if (slideImage != null) slideImage.dispose();
    }
} finally {
    if (pres != null) pres.dispose();
}

คำถามที่พบบ่อย

รูปแบบภาพใดบ้างที่สามารถใช้เมื่อบันทึกภาพย่อของรูปร่าง?

รูปแบบ PNG, JPEG, BMP, GIF, TIFF, เป็นต้น รูปร่างยังสามารถ ส่งออกเป็นเวกเตอร์ SVG โดยบันทึกเนื้อหารูปร่างเป็น SVG.

ความแตกต่างระหว่างขอบเขต Shape และ Appearance เมื่อเรนเดอร์ภาพย่อคืออะไร?

Shape ใช้เรขาคณิตของรูปร่าง; Appearance พิจารณา เอฟเฟกต์ภาพ (เงา, ส่องแสง, ฯลฯ) ด้วย

จะเกิดอะไรขึ้นหากรูปร่างถูกทำเครื่องหมายว่าเป็น hidden? จะยังคงเรนเดอร์เป็นภาพย่อหรือไม่?

รูปร่างที่ซ่อนอยู่ยังคงเป็นส่วนหนึ่งของโมเดลและสามารถเรนเดอร์ได้; ธง hidden มีผลต่อการแสดงผลสไลด์โชว์เท่านั้น แต่ไม่ป้องกันการสร้างภาพของรูปร่าง

รองรับรูปแบบกลุ่ม, แผนภูมิ, SmartArt และวัตถุซับซ้อนอื่น ๆ หรือไม่?

ใช่ วัตถุใด ๆ ที่แสดงเป็น Shape (รวมถึง GroupShape, Chart, และ SmartArt) สามารถบันทึกเป็นภาพย่อหรือเป็น SVG ได้

ฟอนต์ที่ติดตั้งในระบบส่งผลต่อคุณภาพของภาพย่อสำหรับรูปร่างข้อความหรือไม่?

ใช่ คุณควร จัดหาแบบอักษรที่จำเป็น (หรือ กำหนดการทดแทนแบบอักษร) เพื่อหลีกเลี่ยงการเปลี่ยนฟอนต์โดยไม่ต้องการและการจัดข้อความซ้ำ