Bekerja dengan Imej dalam Pembentangan — Aspose.Slides FOSS untuk .NET
Aspose.Slides FOSS for .NET membolehkan anda menyematkan imej dalam koleksi imej bersama persembahan dan memaparkannya pada slaid menggunakan bentuk PictureFrame. Imej juga boleh digunakan sebagai latar belakang bentuk melalui FillType.Picture.
Menambah Imej dari Fail
Muatkan bait imej dari cakera dan tambahkan ke koleksi imej persembahan dengan prs.Images.AddImage(). Kemudian letakkan imej pada slaid sebagai PictureFrame:
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
// Add the image to the shared collection
var imageData = File.ReadAllBytes("logo.png");
var img = prs.Images.AddImage(imageData);
// Place it on the slide as a PictureFrame
var slide = prs.Slides[0];
slide.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 50, 300, 200, img);
prs.Save("with-image.pptx", SaveFormat.Pptx);Empat argumen posisi kepada AddPictureFrame() ialah: x, y, width, height dalam titik.
Menambah Imej dari Aliran
Jika anda mempunyai data imej daripada aliran (contohnya, dimuat turun dari URL atau dibaca daripada pangkalan data), hantarkan secara langsung kepada AddImage():
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
using var stream = File.OpenRead("photo.jpg");
var img = prs.Images.AddImage(stream);
prs.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 100, 80, 400, 250, img);
prs.Save("from-stream.pptx", SaveFormat.Pptx);Penempatan dan Saiz Bingkai Gambar
PictureFrame yang dikembalikan oleh AddPictureFrame() mewarisi semua sifat geometri Shape dan boleh dipindahkan semula selepas penciptaan:
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var imageData = File.ReadAllBytes("photo.jpg");
var img = prs.Images.AddImage(imageData);
var pf = prs.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 0, 0, 100, 100, img);
// Reposition and resize after creation
pf.X = 50;
pf.Y = 100;
pf.Width = 350;
pf.Height = 250;
prs.Save("positioned.pptx", SaveFormat.Pptx);Menggunakan Imej sebagai Isian Bentuk
Sebarang bentuk (bukan hanya PictureFrame) boleh menggunakan imej sebagai isian latar belakang. Tetapkan FillType = FillType.Picture dan tugaskan imej kepada PictureFillFormat.Picture.Image:
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var imageData = File.ReadAllBytes("background.png");
var img = prs.Images.AddImage(imageData);
var slide = prs.Slides[0];
var shape = slide.Shapes.AddAutoShape(ShapeType.RoundCornerRectangle, 50, 50, 400, 250);
shape.FillFormat.FillType = FillType.Picture;
shape.FillFormat.PictureFillFormat.PictureFillMode = PictureFillMode.Stretch;
shape.FillFormat.PictureFillFormat.Picture.Image = img;
prs.Save("picture-fill.pptx", SaveFormat.Pptx);PictureFillMode.Stretch menyelaraskan imej untuk mengisi keseluruhan bentuk.
Menambah Pelbagai Imej Merentasi Slaid
Imej yang ditambahkan ke prs.Images dikongsi di semua slaid. Objek imej yang sama boleh digunakan pada pelbagai slaid tanpa menggandakan data:
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var logoData = File.ReadAllBytes("logo.png");
var logo = prs.Images.AddImage(logoData);
// Add the same image to the first slide
prs.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 600, 10, 100, 40, logo);
prs.Save("shared-image.pptx", SaveFormat.Pptx);