صورة
الصور في الشرائح في العروض التقديمية
تجعل الصور العروض التقديمية أكثر جذبًا واهتمامًا. في Microsoft PowerPoint، يمكنك إدراج صور من ملف، الإنترنت، أو مواقع أخرى إلى الشرائح. بالمثل، يتيح لك Aspose.Slides إضافة الصور إلى الشرائح في العروض التقديمية عبر إجراءات مختلفة.
نصيحة
يوفر Aspose محولات مجانية—JPEG إلى PowerPoint وPNG إلى PowerPoint—تسمح للأشخاص بإنشاء عروض تقديمية بسرعة من الصور.معلومات
إذا كنت ترغب في إضافة صورة ككائن إطار—خصوصًا إذا كنت تخطط لاستخدام خيارات تنسيق قياسية عليها لتغيير حجمها، إضافة تأثيرات، وما إلى ذلك—انظر إلى إطار الصور.ملاحظة
يمكنك معالجة عمليات الإدخال/الإخراج التي تتضمن الصور والعروض التقديمية PowerPoint لتحويل صورة من تنسيق إلى آخر. انظر لهذه الصفحات: تحويل صورة إلى JPG؛ تحويل JPG إلى صورة؛ تحويل JPG إلى PNG؛ تحويل PNG إلى JPG؛ تحويل PNG إلى SVG؛ تحويل SVG إلى PNG.يدعم Aspose.Slides العمليات مع الصور في هذه الصيغ الشائعة: JPEG، PNG، GIF، وغيرها.
إضافة صور مخزنة محليًا إلى الشرائح
يمكنك إضافة صورة واحدة أو عدة صور على جهاز الكمبيوتر الخاص بك إلى شريحة في عرض تقديمي. يعرض الكود العيّني في Java كيفية إضافة صورة إلى شريحة:
Presentation pres = new Presentation();
try {
ISlide slide = pres.getSlides().get_Item(0);
IPPImage picture;
IImage image = Images.fromFile("image.png");
try {
picture = pres.getImages().addImage(image);
} finally {
if (image != null) image.dispose();
}
slide.getShapes().addPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, picture);
pres.save("pres.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
إضافة صور من الويب إلى الشرائح
إذا كانت الصورة التي ترغب في إضافتها إلى شريحة غير متاحة على جهاز الكمبيوتر لديك، يمكنك إضافة الصورة مباشرة من الويب.
يعرض الكود العيّني كيفية إضافة صورة من الويب إلى شريحة في Java:
Presentation pres = new Presentation();
try {
ISlide slide = pres.getSlides().get_Item(0);
URL imageUrl = new URL("[استبدل بالرابط]");
URLConnection connection = imageUrl.openConnection();
InputStream inputStream = connection.getInputStream();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
try {
byte[] buffer = new byte[1024];
int read;
while ((read = inputStream.read(buffer, 0, buffer.length)) != -1)
outputStream.write(buffer, 0, read);
outputStream.flush();
IPPImage image = pres.getImages().addImage(outputStream.toByteArray());
slide.getShapes().addPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, image);
} finally {
if (inputStream != null) inputStream.close();
outputStream.close();
}
pres.save("pres.pptx", SaveFormat.Pptx);
} catch(IOException e) {
} finally {
if (pres != null) pres.dispose();
}
إضافة صور إلى الشرائح الرئيسية
تعد الشريحة الرئيسية هي الشريحة العلوية التي تخزن وتتحكم في المعلومات (السمة، التخطيط، إلخ) لجميع الشرائح تحتها. لذا، عندما تضيف صورة إلى شريحة رئيسية، ستظهر تلك الصورة في كل شريحة تحت تلك الشريحة الرئيسية.
يعرض الكود العيّني في Java كيفية إضافة صورة إلى شريحة رئيسية:
Presentation pres = new Presentation();
try {
ISlide slide = pres.getSlides().get_Item(0);
IMasterSlide masterSlide = slide.getLayoutSlide().getMasterSlide();
IPPImage picture;
IImage image = Images.fromFile("image.png");
try {
picture = pres.getImages().addImage(image);
} finally {
if (image != null) image.dispose();
}
masterSlide.getShapes().addPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, picture);
pres.save("pres.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
إضافة صور كخلفية للشرائح
يمكنك أن تقرر استخدام صورة كخلفية لشريحة معينة أو عدة شرائح. في هذه الحالة، عليك رؤية تعيين الصور كخلفيات للشرائح.
إضافة SVG إلى العروض التقديمية
يمكنك إضافة أو إدراج أي صورة في عرض تقديمي باستخدام طريقة addPictureFrame التي تنتمي إلى واجهة IShapeCollection.
لإنشاء كائن صورة بناءً على صورة SVG، يمكنك القيام بذلك على هذا النحو:
- إنشاء كائن SvgImage لإدراجه في ImageShapeCollection
- إنشاء كائن PPImage من ISvgImage
- إنشاء كائن PictureFrame باستخدام واجهة IPPImage
يعرض الكود العيّني كيفية تنفيذ الخطوات أعلاه لإضافة صورة SVG إلى عرض تقديمي:
// إنشاء كائن تقديم يمثل ملف PPTX
Presentation pres = new Presentation();
try {
String svgContent = new String(Files.readAllBytes(Paths.get("image.svg")));
ISvgImage svgImage = new SvgImage(svgContent);
IPPImage ppImage = pres.getImages().addImage(svgImage);
pres.getSlides().get_Item(0).getShapes().addPictureFrame(ShapeType.Rectangle, 0, 0,
ppImage.getWidth(), ppImage.getHeight(), ppImage);
pres.save("output.pptx", SaveFormat.Pptx);
} catch (IOException e) {
} finally {
if (pres != null) pres.dispose();
}
تحويل SVG إلى مجموعة من الأشكال
تحويل Aspose.Slides لـ SVG إلى مجموعة من الأشكال مشابه لوظائف PowerPoint المستخدمة للعمل مع صور SVG:
يتم توفير هذه الوظيفة من خلال أحد التحميلات الزائدة لطريقة addGroupShape الخاصة بواجهة IShapeCollection التي تأخذ كائن ISvgImage كأول وسيط.
يعرض الكود العيّني كيفية استخدام الطريقة المشار إليها لتحويل ملف SVG إلى مجموعة من الأشكال:
// إنشاء عرض تقديمي جديد
IPresentation presentation = new Presentation();
try {
// قراءة محتوى ملف SVG
byte[] svgContent = Files.readAllBytes(Paths.get("image.svg"));
// إنشاء كائن SvgImage
ISvgImage svgImage = new SvgImage(svgContent);
// الحصول على حجم الشريحة
Dimension2D slideSize = presentation.getSlideSize().getSize();
// تحويل صورة SVG إلى مجموعة من الأشكال مع تغيير حجمها لتناسب حجم الشريحة
presentation.getSlides().get_Item(0).getShapes().
addGroupShape(svgImage, 0f, 0f, (float)slideSize.getWidth(), (float)slideSize.getHeight());
// حفظ العرض التقديمي بصيغة PPTX
presentation.save("output.pptx", SaveFormat.Pptx);
} catch (IOException e) {
} finally {
if (presentation != null) presentation.dispose();
}
إضافة صور كـ EMF في الشرائح
يتيح لك Aspose.Slides لأندرويد عبر Java إنشاء صور EMF من أوراق Excel وإضافة الصور كـ EMF في الشرائح مع Aspose.Cells.
يعرض الكود العيّني كيفية تنفيذ المهمة الموصوفة:
Workbook book = new Workbook("chart.xlsx");
Worksheet sheet = book.getWorksheets().get(0);
ImageOrPrintOptions options = new ImageOrPrintOptions();
options.setHorizontalResolution(200);
options.setVerticalResolution(200);
options.setImageType(ImageType.EMF);
// حفظ العمل إلى الدفق
SheetRender sr = new SheetRender(sheet, options);
Presentation pres = new Presentation();
try {
pres.getSlides().removeAt(0);
String EmfSheetName = "";
for (int j = 0; j < sr.getPageCount(); j++)
{
EmfSheetName = "test" + sheet.getName() + " Page" + (j + 1) + ".out.emf";
sr.toImage(j, EmfSheetName);
IPPImage picture;
IImage image = Images.fromFile(EmfSheetName);
try {
picture = pres.getImages().addImage(image);
} finally {
if (image != null) image.dispose();
}
ISlide slide = pres.getSlides().addEmptySlide(pres.getLayoutSlides().getByType(SlideLayoutType.Blank));
IShape m = slide.getShapes().addPictureFrame(ShapeType.Rectangle, 0, 0,
(float)pres.getSlideSize().getSize().getWidth(),
(float)pres.getSlideSize().getSize().getHeight(),
picture);
}
pres.save("output.pptx", SaveFormat.Pptx);
} catch (IOException e) {
} finally {
if (pres != null) pres.dispose();
}