In this tutorial, we will learn how to add image watermark in PPTX using C++. You can insert a logo, signature, or any visual information as image watermark in PowerPoint presentation with simple API interface in C++. The feature is not dependent on Microsoft PowerPoint or any application for adding image watermark on Windows or Linux platforms.
Steps to Add Image Watermark in PPTX using C++
- Install the Aspose.Slides for C++ from NuGet package Manager tool
- Add the reference to Aspose::Slides namespace
- Load input PPTX for adding image watermark using Presentation Class
- Add PictureFrame in all Master Slides for adding image watermark
- Lock the added image watermark to avoid changes
- Save output watermarked PPTX presentation file
You can insert image watermark to PowerPoint in C++ with few simple lines of code. This example is also applicable for PPT file format.
Code to Add Image Watermark in PPTX using C++
#pragma once | |
#include <iostream> | |
#include <DOM/Presentation.h> | |
#include <DOM/IMasterSlideCollection.h> | |
#include <DOM/IMasterSlide.h> | |
#include <DOM/IShapeCollection.h> | |
#include <DOM/IAutoShape.h> | |
#include <DOM/ShapeType.h> | |
#include <DOM/SlideSizeScaleType.h> | |
#include <DOM/SlideSize.h> | |
#include <DOM/ISlideSize.h> | |
#include <DOM/IFillFormat.h> | |
#include <DOM/IPictureFillFormat.h> | |
#include <DOM/PictureFillMode.h> | |
#include <DOM/ITextFrame.h> | |
#include <DOM/IPortionFormat.h> | |
#include <DOM/IParagraphCollection.h> | |
#include <DOM/IParagraph.h> | |
#include <DOM/IPortionCollection.h> | |
#include <DOM/IPortion.h> | |
#include <DOM/FillType.h> | |
#include <DOM/NullableBool.h> | |
#include <DOM/IColorFormat.h> | |
#include <DOM/AutoShapeLock.h> | |
#include <Export/SaveFormat.h> | |
#include <DOM/IPPImage.h> | |
#include <DOM/IImageCollection.h> | |
#include <DOM/IPictureFrame.h> | |
#include <drawing/Color.h> | |
#include <drawing/Size.h> | |
#include <drawing/size_f.h> | |
#include <system/io/file_mode.h> | |
#include <system/io/file_stream.h> | |
using namespace Aspose::Slides; | |
using namespace System; | |
using namespace System::Drawing; | |
using namespace System::IO; | |
class AddWatermarkEx | |
{ | |
public: | |
static void AddImageWatermark() | |
{ | |
// Load the input presentation for adding image watermark | |
SharedPtr<Presentation> WatermarkPresentation = MakeObject<Presentation>(u"SourceInput.pptx"); | |
String imageFilePath = u"Tulips.jpg"; | |
//SharedPtr<System::Drawing::Bitmap> bitmap = MakeObject<System::Drawing::Bitmap>(imageFilePath); | |
SharedPtr<FileStream> ImageStream = MakeObject<IO::FileStream>(imageFilePath, System::IO::FileMode::Open); | |
SharedPtr<IPPImage> image = WatermarkPresentation->get_Images()->AddImage(ImageStream); | |
// Accessing the master slides for adding image watermark | |
for (SharedPtr <IMasterSlide> masterSlide : WatermarkPresentation->get_Masters()) | |
{ | |
// Adding a Pptx image watermark shape | |
SharedPtr <IPictureFrame> PptxWatermark = masterSlide->get_Shapes()->AddPictureFrame(ShapeType::Rectangle, | |
WatermarkPresentation->get_SlideSize()->get_Size().get_Width() / 2 - 50, | |
WatermarkPresentation->get_SlideSize()->get_Size().get_Height() / 2 - 50, | |
200, 50, image); | |
// Set the fill type, fill format, and rotation angle of the shape | |
PptxWatermark->set_Rotation(325); | |
PptxWatermark->get_FillFormat()->set_FillType(FillType::Picture); | |
PptxWatermark->get_FillFormat()->get_PictureFillFormat()->set_PictureFillMode(PictureFillMode::Stretch); | |
// Locking Pptx image watermarked shape to be uneditable in PowerPoint | |
PptxWatermark->get_ShapeLock()->Lock(); | |
} | |
// Save output presentation with watermark image | |
WatermarkPresentation->Save(u"ImageWatermarkPresentation.pptx", Export::SaveFormat::Pptx); | |
} | |
}; |
In the last topic, we learnt How to Add Draft Watermark in PPTX using C++. This topic focuses on how to put image watermark in pptx using C++.