จัดการกรอบรูปในการนำเสนอด้วย PHP
บทนำ
กรอบรูปคือรูปร่างที่บรรจุภาพ—คล้ายภาพในกรอบ
คุณสามารถเพิ่มรูปภาพลงในสไลด์ผ่านกรอบรูปได้ วิธีนี้ทำให้คุณจัดรูปแบบรูปภาพโดยจัดรูปแบบกรอบรูป
Tip
Aspose ให้บริการแปลงฟรี—JPEG to PowerPoint และ PNG to PowerPoint—ที่ช่วยให้ผู้ใช้สร้างงานนำเสนอจากรูปภาพได้อย่างรวดเร็วCreate a Picture Frame
- สร้างอินสแตนซ์ของคลาส Presentation
- รับอ้างอิงของสไลด์ผ่านดัชนีของมัน
- สร้างอ็อบเจ็กต์ PPImage โดยการเพิ่มรูปภาพลงใน ImageCollection ที่เชื่อมกับอ็อบเจ็กต์ Presentation เพื่อใช้เป็นการเติมรูปร่าง
- ระบุความกว้างและความสูงของรูปภาพ
- สร้าง PictureFrame โดยใช้เมธอด
addPictureFrameของอ็อบเจ็กต์ shape ที่เชื่อมกับสไลด์ที่อ้างอิง - เพิ่มกรอบรูป (ซึ่งบรรจุรูปภาพ) ลงในสไลด์
- บันทึกการนำเสนอที่แก้ไขเป็นไฟล์ PPTX
# สร้างอินสแตนซ์ของคลาส Presentation ที่เป็นตัวแทนไฟล์ PPTX
$pres = new Presentation();
try {
# รับสไลด์แรก
$sld = $pres->getSlides()->get_Item(0);
# สร้างอินสแตนซ์ของคลาส Image
$imgx = $pres->getImages()->addImage(new Java("java.io.FileInputStream", new Java("java.io.File", "asp1.jpg")));
# เพิ่มกรอบรูปโดยใช้ความสูงและความกว้างของภาพที่เท่ากัน
$sld->getShapes()->addPictureFrame(ShapeType::Rectangle, 50, 150, $imgx->getWidth(), $imgx->getHeight(), $imgx);
# บันทึกไฟล์ PPTX ลงดิสก์
$pres->save("RectPicFrame.pptx", SaveFormat::Pptx);
} catch (JavaException $e) {
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Create a Picture Frame with Relative Scale
โดยการปรับสเกลสัมพันธ์ของรูปภาพ คุณสามารถสร้างกรอบรูปที่ซับซ้อนได้มากขึ้น
- สร้างอินสแตนซ์ของคลาส Presentation
- รับอ้างอิงของสไลด์ผ่านดัชนีของมัน
- เพิ่มรูปภาพลงใน ImageCollection ของการนำเสนอ
- สร้างอ็อบเจ็กต์ PPImage โดยการเพิ่มรูปภาพลงใน ImageCollection ที่เชื่อมกับอ็อบเจ็กต์ Presentation เพื่อใช้เป็นการเติมรูปร่าง
- ระบุความกว้างและความสูงสัมพันธ์ของรูปภาพในกรอบรูป
- บันทึกการนำเสนอที่แก้ไขเป็นไฟล์ PPTX
# สร้างอินสแตนซ์ของคลาส Presentation ที่เป็นตัวแทนของไฟล์ PPTX
$pres = new Presentation();
try {
# รับสไลด์แรก
$sld = $pres->getSlides()->get_Item(0);
# สร้างอินสแตนซ์ของคลาส Image
$imgx = $pres->getImages()->addImage(new Java("java.io.FileInputStream", new Java("java.io.File", "asp1.jpg")));
# เพิ่มกรอบรูปโดยใช้ความสูงและความกว้างเท่ากับของภาพ
$pf = $sld->getShapes()->addPictureFrame(ShapeType::Rectangle, 50, 150, $imgx->getWidth(), $imgx->getHeight(), $imgx);
# ตั้งค่าสเกลสัมพันธ์ความกว้างและความสูง
$pf->setRelativeScaleHeight(0.8);
$pf->setRelativeScaleWidth(1.35);
# บันทึกไฟล์ PPTX ลงดิสก์
$pres->save("RectPicFrame.pptx", SaveFormat::Pptx);
} catch (JavaException $e) {
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Extract Raster Images from Picture Frames
คุณสามารถแยกรูปภาพ Raster จากอ็อบเจ็กต์ PictureFrame และบันทึกเป็น PNG, JPG หรือรูปแบบอื่น ตัวอย่างโค้ดด้านล่างแสดงวิธีแยกรูปภาพจากไฟล์ “sample.pptx” แล้วบันทึกเป็น PNG
$presentation = new Presentation("sample.pptx");
try {
$firstSlide = $presentation->getSlides()->get_Item(0);
$firstShape = $firstSlide->getShapes()->get_Item(0);
if (java_instanceof($firstShape, new JavaClass("com.aspose.slides.PictureFrame"))) {
$pictureFrame = $firstShape;
try {
$slideImage = $pictureFrame->getPictureFormat()->getPicture()->getImage()->getImage();
$slideImage->save("slide_1_shape_1.png", ImageFormat::Png);
} finally {
if (!java_is_null($slideImage)) {
$slideImage->dispose();
}
}
}
} catch (JavaException $e) {
} finally {
$presentation->dispose();
}
Extract SVG Images from Picture Frames
เมื่อการนำเสนอมีกราฟิก SVG อยู่ภายในรูปทรง PictureFrame Aspose.Slides for PHP via Java จะช่วยให้คุณดึงรูปเวกเตอร์ SVG ดั้งเดิมออกมาได้อย่างเต็มที่ โดยการวนผ่านคอลเลกชันของรูปทรงบนสไลด์ คุณสามารถระบุแต่ละ PictureFrame ตรวจสอบว่า PPImage มีเนื้อหา SVG หรือไม่ แล้วบันทึกเป็นไฟล์ SVG
$presentation = new Presentation("sample.pptx");
try {
$slide = $presentation->getSlides()->get_Item(0);
$shape = $slide->getShapes()->get_Item(0);
if (java_instanceof($shape, new JavaClass("com.aspose.slides.PictureFrame"))) {
$svgImage = $shape->getPictureFormat()->getPicture()->getImage()->getSvgImage();
if ($svgImage !== null) {
file_put_contents("output.svg", $svgImage->getSvgData());
}
}
} finally {
$presentation->dispose();
}
Get Transparency of an Image
Aspose.Slides ให้คุณรับค่าการทำให้รูปภาพโปร่งใส โค้ด PHP ด้านล่างแสดงการทำงาน
$presentation = new Presentation("Test.pptx");
$pictureFrame = $presentation->getSlides()->get_Item(0)->getShapes()->get_Item(0);
$imageTransform = $pictureFrame->getPictureFormat()->getPicture()->getImageTransform();
foreach($imageTransform as $effect) {
if (java_instanceof($effect, new JavaClass("com.aspose.slides.AlphaModulateFixed"))) {
$alphaModulateFixed = $effect;
$transparencyValue = 100 - $alphaModulateFixed->getAmount();
echo("Picture transparency: " . $transparencyValue);
}
}
Get Brightness and Contrast of an Image
Aspose.Slides ให้คุณรับค่าความสว่างและคอนทราสต์ที่ถูกประยุกต์กับรูปภาพ คลาส Luminance แทนการแปลงนี้
โค้ด PHP ด้านล่างแสดงวิธีดึงค่าความสว่างและคอนทราสต์จากกรอบรูป
$presentation = new Presentation("sample.pptx");
try {
$slide = $presentation->getSlides()->get_Item(0);
$shape = $slide->getShapes()->get_Item(0);
$pictureFrame = $shape;
$imageTransform = $pictureFrame->getPictureFormat()->getPicture()->getImageTransform();
$imageTransformCount = java_values($imageTransform->size());
for ($index = 0; $index < $imageTransformCount; $index++) {
$effect = $imageTransform->get_Item($index);
if (java_instanceof($effect, new JavaClass("com.aspose.slides.Luminance"))) {
$luminance = $effect->getEffective();
$brightness = java_values($luminance->getBrightness());
$contrast = java_values($luminance->getContrast());
echo("Brightness: " . $brightness . PHP_EOL);
echo("Contrast: " . $contrast . PHP_EOL);
}
}
} finally {
$presentation->dispose();
}
Picture Frame Formatting
Aspose.Slides มีตัวเลือกการจัดรูปแบบหลายอย่างที่สามารถใช้กับกรอบรูปได้ ด้วยตัวเลือกเหล่านี้คุณสามารถปรับกรอบรูปให้ตรงกับข้อกำหนดเฉพาะได้
- สร้างอินสแตนซ์ของคลาส Presentation
- รับอ้างอิงของสไลด์ผ่านดัชนีของมัน
- สร้างอ็อบเจ็กต์ PPImage โดยการเพิ่มรูปภาพลงใน ImageCollection ที่เชื่อมกับอ็อบเจ็กต์ Presentation เพื่อใช้เป็นการเติมรูปร่าง
- ระบุความกว้างและความสูงของรูปภาพ
- สร้าง
PictureFrameโดยใช้เมธอด addPictureFrame ของอ็อบเจ็กต์ ShapeCollection ที่เชื่อมกับสไลด์ที่อ้างอิง - เพิ่มกรอบรูป (ซึ่งบรรจุรูปภาพ) ลงในสไลด์
- ตั้งค่าสีเส้นของกรอบรูป
- ตั้งค่าความกว้างของเส้นกรอบรูป
- หมุนกรอบรูปโดยระบุค่าเป็นบวกหรือค่าลบ
- ค่าเป็นบวกจะหมุนตามเข็มนาฬิกา
- ค่าเป็นลบจะหมุนทวนเข็มนาฬิกา
- เพิ่มกรอบรูป (ซึ่งบรรจุรูปภาพ) ลงในสไลด์
- บันทึกการนำเสนอที่แก้ไขเป็นไฟล์ PPTX
# สร้างอินสแตนซ์ของคลาส Presentation ที่แทนไฟล์ PPTX
$pres = new Presentation();
try {
# รับสไลด์แรก
$sld = $pres->getSlides()->get_Item(0);
# สร้างอินสแตนซ์ของคลาส Image
$imgx = $pres->getImages()->addImage(new Java("java.io.FileInputStream", new Java("java.io.File", "asp1.jpg")));
# เพิ่มกรอบรูปโดยใช้ความสูงและความกว้างเท่ากับของรูปภาพ
$pf = $sld->getShapes()->addPictureFrame(ShapeType::Rectangle, 50, 150, $imgx->getWidth(), $imgx->getHeight(), $imgx);
# ใช้การจัดรูปแบบบางอย่างกับ PictureFrameEx
$pf->getLineFormat()->getFillFormat()->setFillType(FillType::Solid);
$pf->getLineFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
$pf->getLineFormat()->setWidth(20);
$pf->setRotation(45);
# เขียนไฟล์ PPTX ลงดิสก์
$pres->save("RectPicFrame.pptx", SaveFormat::Pptx);
} catch (JavaException $e) {
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Tip
Aspose เพิ่งพัฒนา free Collage Maker หากคุณต้องการ merge JPG/JPEG หรือ PNG, หรือ create grids from photos คุณสามารถใช้บริการนี้ได้Add an Image as a Link
เพื่อหลีกเลี่ยงขนาดการนำเสนอที่ใหญ่ คุณสามารถเพิ่มรูปภาพ (หรือวิดีโอ) ผ่านลิงก์แทนการฝังไฟล์โดยตรง โค้ด PHP ด้านล่างแสดงวิธีเพิ่มรูปภาพและวิดีโอลงใน placeholder
$presentation = new Presentation("input.pptx");
try {
$shapesToRemove = new Java("java.util.ArrayList");
$shapesCount = $presentation->getSlides()->get_Item(0)->getShapes()->size();
for($i = 0; $i < java_values($shapesCount) ; $i++) {
$autoShape = $presentation->getSlides()->get_Item(0)->getShapes()->get_Item($i);
if (java_is_null($autoShape->getPlaceholder())) {
continue;
}
switch ($autoShape->getPlaceholder()->getType()) {
case PlaceholderType::Picture :
$pictureFrame = $presentation->getSlides()->get_Item(0)->getShapes()->addPictureFrame(ShapeType::Rectangle, $autoShape->getX(), $autoShape->getY(), $autoShape->getWidth(), $autoShape->getHeight(), null);
$pictureFrame->getPictureFormat()->getPicture()->setLinkPathLong("https://upload.wikimedia.org/wikipedia/commons/3/3a/I.M_at_Old_School_Public_Broadcasting_in_October_2016_02.jpg");
$shapesToRemove->add($autoShape);
break;
case PlaceholderType::Media :
$videoFrame = $presentation->getSlides()->get_Item(0)->getShapes()->addVideoFrame($autoShape->getX(), $autoShape->getY(), $autoShape->getWidth(), $autoShape->getHeight(), "");
$videoFrame->getPictureFormat()->getPicture()->setLinkPathLong("https://upload.wikimedia.org/wikipedia/commons/3/3a/I.M_at_Old_School_Public_Broadcasting_in_October_2016_02.jpg");
$videoFrame->setLinkPathLong("https://youtu.be/t_1LYZ102RA");
$shapesToRemove->add($autoShape);
break;
}
}
foreach($shapesToRemove as $shape) {
$presentation->getSlides()->get_Item(0)->getShapes()->remove($shape);
}
$presentation->save("output.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
Crop Images
โค้ด PHP ด้านล่างแสดงวิธีตัดส่วนของรูปภาพที่มีอยู่บนสไลด์
$pres = new Presentation();
# สร้างอ็อบเจ็กต์รูปภาพใหม่
try {
$picture;
$image = Images->fromFile($imagePath);
try {
$picture = $pres->getImages()->addImage($image);
} finally {
if (!java_is_null($image)) {
$image->dispose();
}
}
# เพิ่ม PictureFrame ไปยังสไลด์
$picFrame = $pres->getSlides()->get_Item(0)->getShapes()->addPictureFrame(ShapeType::Rectangle, 100, 100, 420, 250, $picture);
# ตัดรูปภาพ (ค่าร้อยละ)
$picFrame->getPictureFormat()->setCropLeft(23.6);
$picFrame->getPictureFormat()->setCropRight(21.5);
$picFrame->getPictureFormat()->setCropTop(3);
$picFrame->getPictureFormat()->setCropBottom(31);
# บันทึกผลลัพธ์
$pres->save($outPptxFile, SaveFormat::Pptx);
} catch (JavaException $e) {
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Delete Cropped Areas of a Picture
หากต้องการลบส่วนที่ถูกตัดของรูปภาพที่อยู่ในกรอบ คุณสามารถใช้เมธอด deletePictureCroppedAreas() เมธอดนี้จะคืนค่ารูปที่ถูกตัดหรือรูปเดิมหากไม่จำเป็นต้องตัด
โค้ด PHP ด้านล่างแสดงการทำงาน
$presentation = new Presentation("PictureFrameCrop.pptx");
try {
$slide = $presentation->getSlides()->get_Item(0);
# ดึง PictureFrame จากสไลด์แรก
$picFrame = $slide->getShapes()->get_Item(0);
# ลบพื้นที่ที่ถูกตัดของภาพใน PictureFrame และส่งคืนภาพที่ถูกตัด
$croppedImage = $picFrame->getPictureFormat()->deletePictureCroppedAreas();
# บันทึกผลลัพธ์
$presentation->save("PictureFrameDeleteCroppedAreas.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
NOTE
เมธอด deletePictureCroppedAreas() จะเพิ่มรูปที่ถูกตัดลงในคอลเลกชันรูปของการนำเสนอ หากรูปถูกใช้เฉพาะใน PictureFrame การตั้งค่านี้สามารถลดขนาดการนำเสนอได้ มิฉะนั้นจำนวนรูปในไฟล์ที่ได้จะเพิ่มขึ้น
เมธอดนี้จะทำการแปลงไฟล์ WMF/EMF เป็นรูป PNG แรสเตอร์ในกระบวนการตัด
Compress Images
คุณสามารถบีบอัดรูปในงานนำเสนอได้โดยใช้เมธอด PictureFillFormat::compressImage() เมธอดนี้จะลดขนาดรูปโดยอิงตามขนาดรูปร่างและความละเอียดที่กำหนด พร้อมตัวเลือกการลบส่วนที่ถูกตัด
มันปรับขนาดและความละเอียดของรูปคล้ายคุณลักษณะ Picture Format → Compress Pictures → Resolution ของ PowerPoint
ตัวอย่าง PHP ด้านล่างแสดงการบีบอัดรูปโดยระบุความละเอียดเป้าหมายและลบส่วนที่ถูกตัด (ถ้าต้องการ)
$presentation = new Presentation("demo.pptx");
try {
$slide = $presentation->getSlides()->get_Item(0);
$pictureFrame = $slide->getShapes()->get_Item(0);
# บีบอัดภาพด้วยความละเอียดเป้าหมาย 150 DPI (ความละเอียดเว็บ) และลบพื้นที่ที่ถูกตัด
$result = $pictureFrame->getPictureFormat()->compressImage(true, PicturesCompression::Dpi150);
# ตรวจสอบผลของการบีบอัด
if ($result) {
echo "Image successfully compressed.";
} else {
echo "Image compression failed or no changes were necessary.";
}
$presentation->save("CompressedImage.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
หรือใช้ค่ DPI ที่กำหนดเองโดยตรง
$presentation = new Presentation("demo.pptx");
try {
$slide = $presentation->getSlides()->get_Item(0);
$pictureFrame = $slide->getShapes()->get_Item(0);
# บีบอัดภาพเป็น 150 DPI (ความละเอียดเว็บ) และลบพื้นที่ที่ถูกตัด.
$pictureFrame->getPictureFormat()->compressImage(true, 150.0);
$presentation->save("CompressedImage.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
NOTE
เมธอดนี้จะลดความละเอียดของรูปตามขนาดรูปร่างและ DPI ที่ระบุ ส่วนที่ถูกตัดสามารถลบเพื่อเพิ่มประสิทธิภาพขนาดไฟล์ได้หากรูปเป็นเมตะไฟล์ (WMF/EMF) หรือ SVG การบีบอัดจะไม่ถูกนำไปใช้ นอกจากนี้คุณภาพ JPEG จะถูกเก็บไว้หรืออาจลดลงเล็กน้อยตามความละเอียดเช่นเดียวกับ PowerPoint
Lock Aspect Ratio
หากต้องการให้รูปร่างที่บรรจุรูปภาพคงอัตราส่วนแม้หลังจากเปลี่ยนขนาดรูปภาพ คุณสามารถใช้เมธอด setAspectRatioLocked เพื่อตั้งค่าการ Lock Aspect Ratio
โค้ด PHP ด้านล่างแสดงวิธีล็อกอัตราส่วนของรูปร่าง
$pres = new Presentation("pres.pptx");
try {
$layout = $pres->getLayoutSlides()->getByType(SlideLayoutType::Custom);
$emptySlide = $pres->getSlides()->addEmptySlide($layout);
$picture;
$image = Images->fromFile("image.png");
try {
$picture = $pres->getImages()->addImage($image);
} finally {
if (!java_is_null($image)) {
$image->dispose();
}
}
$pictureFrame = $emptySlide->getShapes()->addPictureFrame(ShapeType::Rectangle, 50, 150, $presImage->getWidth(), $presImage->getHeight(), $picture);
# ตั้งรูปให้คงอัตราส่วนเมื่อปรับขนาด
$pictureFrame->getPictureFrameLock()->setAspectRatioLocked(true);
} catch (JavaException $e) {
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
NOTE
การตั้งค่า Lock Aspect Ratio นี้จะรักษาอัตราส่วนของรูปร่างเท่านั้น ไม่ได้ล็อกอัตราส่วนของรูปภาพที่อยู่ภายในUse the StretchOff Property
โดยใช้เมธอด setStretchOffsetLeft, setStretchOffsetTop, setStretchOffsetRight และ setStretchOffsetBottom ของคลาส PictureFillFormat คุณสามารถกำหนดสี่เหลี่ยมเติมได้
เมื่อกำหนดการยืดสำหรับรูปภาพสี่เหลี่ยมแหล่งจะถูกสเกลให้พอดีกับสี่เหลี่ยมเติมที่กำหนด แต่ละขอบของสี่เหลี่ยมเติมถูกกำหนดโดยออฟเซ็ตเป็นเปอร์เซ็นต์จากขอบของกล่องขอบรูปร่าง ออฟเซ็ตบวกหมายถึงการย่อเข้า ในขณะที่ออฟเซ็ตลบหมายถึงการขยายออก
- สร้างอินสแตนซ์ของคลาส Presentation
- รับอ้างอิงของสไลด์ผ่านดัชนีของมัน
- เพิ่มสี่เหลี่ยม
AutoShape - สร้างรูปภาพ
- ตั้งค่าชนิดการเติมของรูปร่าง
- ตั้งค่าโหมดการเติมรูปภาพของรูปร่าง
- เพิ่มรูปที่ใช้เติมรูปร่าง
- ระบุออฟเซ็ตของรูปจากขอบที่สอดคล้องของกล่องขอบรูปร่าง
- บันทึกการนำเสนอที่แก้ไขเป็นไฟล์ PPTX
# สร้างอินสแตนซ์ของคลาส Presentation ที่เป็นตัวแทนไฟล์ PPTX
$pres = new Presentation();
try {
# รับสไลด์แรก
$slide = $pres->getSlides()->get_Item(0);
# สร้างอินสแตนซ์ของคลาส ImageEx
$picture;
$image = Images->fromFile("aspose-logo.jpg");
try {
$picture = $pres->getImages()->addImage($image);
} finally {
if (!java_is_null($image)) {
$image->dispose();
}
}
# เพิ่ม AutoShape ตั้งค่าเป็นสี่เหลี่ยมผืนผ้า
$aShape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 100, 100, 300, 300);
# ตั้งค่าชนิดการเติมของรูปร่าง
$aShape->getFillFormat()->setFillType(FillType::Picture);
# ตั้งค่าโหมดการเติมรูปภาพของรูปร่าง
$aShape->getFillFormat()->getPictureFillFormat()->setPictureFillMode(PictureFillMode->Stretch);
# ตั้งค่ารูปภาพเพื่อเติมรูปร่าง
$aShape->getFillFormat()->getPictureFillFormat()->getPicture()->setImage($picture);
# ระบุออฟเซ็ตของรูปภาพจากขอบที่สอดคล้องของกล่องขอบรูปร่าง
$aShape->getFillFormat()->getPictureFillFormat()->setStretchOffsetLeft(25);
$aShape->getFillFormat()->getPictureFillFormat()->setStretchOffsetRight(25);
$aShape->getFillFormat()->getPictureFillFormat()->setStretchOffsetTop(-20);
$aShape->getFillFormat()->getPictureFillFormat()->setStretchOffsetBottom(-10);
# เขียนไฟล์ PPTX ลงดิสก์
$pres->save("StretchOffsetLeftForPictureFrame_out.pptx", SaveFormat::Pptx);
} catch (JavaException $e) {
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
FAQ
How can I find out which image formats are supported for PictureFrame?
คุณสามารถตรวจสอบได้ว่ารูปแบบภาพใดรองรับสำหรับ [PictureFrame] โดย Aspose.Slides รองรับทั้งภาพแรสเตอร์ (PNG, JPEG, BMP, GIF ฯลฯ) และภาพเวกเตอร์ (เช่น SVG) ผ่านอ็อบเจ็กต์ภาพที่กำหนดให้กับ [PictureFrame] รายการรูปแบบที่รองรับมักสอดคล้องกับความสามารถของเอนจินการแปลงสไลด์และภาพ
How will adding dozens of large images affect PPTX size and performance?
การฝังรูปภาพขนาดใหญ่หลายรูปจะเพิ่มขนาดไฟล์และการใช้หน่วยความจำ; การลิงก์รูปภาพช่วยลดขนาดการนำเสนอแต่ต้องให้ไฟล์ภายนอกเข้าถึงได้ Aspose.Slides มีความสามารถในการเพิ่มรูปภาพโดยลิงก์เพื่อช่วยลดขนาดไฟล์
How can I lock an image object from accidental moving/resizing?
ใช้ shape locks สำหรับ [PictureFrame] (เช่น ปิดการย้ายหรือปรับขนาด) กลไกการล็อกนี้รองรับหลายประเภทของรูปร่าง รวมถึง [PictureFrame]
Is SVG vector fidelity preserved when exporting a presentation to PDF/images?
Aspose.Slides สามารถแยกรูป SVG จาก [PictureFrame] เป็นเวกเตอร์ดั้งเดิมได้ เมื่อ exporting to PDF หรือ raster formats ผลลัพธ์อาจถูกแรสเตอร์ขึ้นอยู่กับการตั้งค่าการส่งออก; ความจริงที่ว่า SVG ดั้งเดิมยังคงเป็นเวกเตอร์จะได้รับการยืนยันจากการแยกไฟล์.