Aspose.Slides FOSS for C++ lets you apply professional-quality visual effects to PowerPoint shapes in native C++, with no Microsoft Office and no API keys. This post demonstrates the fill system, 2D effects, and 3D formatting available in the library.


भराव प्रणाली

हर आकार में एक fill_format() जो नियंत्रित करता है कि उसका आंतरिक भाग कैसे रंगा जाता है। पाँच फ़िल प्रकार PowerPoint के डिज़ाइन पैलेट की पूरी रेंज को कवर करते हैं।.

ठोस भराव

सबसे सरल भराव, एक सपाट रंग जिसमें वैकल्पिक पारदर्शिता हो सकती है:

#include <Aspose/Slides/Foss/presentation.h>

using namespace Aspose::Slides::Foss;

Presentation prs;
auto& shape = prs.slides()[0].shapes().add_auto_shape(
    ShapeType::RoundCornerRectangle, 100, 100, 400, 150
);
shape.text_frame()->set_text("Solid Fill");

shape.fill_format().set_fill_type(FillType::SOLID);
shape.fill_format().solid_fill_color().set_color(Color::from_argb(255, 30, 80, 180));

prs.save("solid.pptx", SaveFormat::PPTX);

रेखीय ग्रेडिएंट भराव

ग्रेडिएंट स्टॉप्स आपको आकृति के पार एक रंग से दूसरे रंग में मिश्रण करने देते हैं:

#include <Aspose/Slides/Foss/presentation.h>

using namespace Aspose::Slides::Foss;

Presentation prs;
auto& shape = prs.slides()[0].shapes().add_auto_shape(
    ShapeType::RECTANGLE, 100, 100, 400, 150
);

auto& ff = shape.fill_format();
ff.set_fill_type(FillType::GRADIENT);
auto& gf = ff.gradient_format();
gf.set_gradient_shape(GradientShape::Linear);
gf.set_linear_gradient_angle(90);   // top-to-bottom

gf.gradient_stops().add(0.0f, Color::from_argb(255, 30, 80, 180));   // top: blue
gf.gradient_stops().add(1.0f, Color::from_argb(255, 0, 200, 160));   // bottom: teal

prs.save("gradient.pptx", SaveFormat::PPTX);

2D Visual Effects

बाहरी ड्रॉप शैडो

किसी भी आकृति पर अर्ध-पारदर्शी ड्रॉप शैडो संलग्न करें:

#include <Aspose/Slides/Foss/presentation.h>

using namespace Aspose::Slides::Foss;

Presentation prs;
auto& shape = prs.slides()[0].shapes().add_auto_shape(
    ShapeType::RoundCornerRectangle, 100, 100, 350, 150
);
shape.text_frame()->set_text("Drop Shadow");

shape.fill_format().set_fill_type(FillType::SOLID);
shape.fill_format().solid_fill_color().set_color(Color::white());

auto& ef = shape.effect_format();
ef.enable_outer_shadow_effect();
ef.outer_shadow_effect().set_blur_radius(12);
ef.outer_shadow_effect().set_direction(315);   // upper-left
ef.outer_shadow_effect().set_distance(8);
ef.outer_shadow_effect().shadow_color().set_color(Color::from_argb(100, 0, 0, 0));

prs.save("shadow.pptx", SaveFormat::PPTX);

चमक प्रभाव

आकृति के किनारे के चारों ओर एक रंगीन आभा:

#include <Aspose/Slides/Foss/presentation.h>

using namespace Aspose::Slides::Foss;

Presentation prs;
auto& shape = prs.slides()[0].shapes().add_auto_shape(
    ShapeType::Ellipse, 150, 100, 250, 250
);
shape.fill_format().set_fill_type(FillType::SOLID);
shape.fill_format().solid_fill_color().set_color(Color::from_argb(255, 20, 60, 140));

auto& ef = shape.effect_format();
ef.enable_glow_effect();
ef.glow_effect().set_radius(20);
ef.glow_effect().color().set_color(Color::from_argb(200, 0, 180, 255));

prs.save("glow.pptx", SaveFormat::PPTX);

3D Formatting

बिवेल और मैटेरियल

यह three_d_format() विधि किसी भी सपाट आकार को त्रि-आयामी रूप देती है। बेवेल को कैमरा प्रीसेट और एक सामग्री के साथ मिलाएँ ताकि सबसे समृद्ध परिणाम प्राप्त हो:

#include <Aspose/Slides/Foss/presentation.h>

using namespace Aspose::Slides::Foss;

Presentation prs;
auto& shape = prs.slides()[0].shapes().add_auto_shape(
    ShapeType::RECTANGLE, 150, 150, 300, 130
);
shape.text_frame()->set_text("Metal Button");

// Blue solid fill
shape.fill_format().set_fill_type(FillType::SOLID);
shape.fill_format().solid_fill_color().set_color(Color::from_argb(255, 20, 70, 160));

// 3D bevel + camera + light + material
auto& tdf = shape.three_d_format();
tdf.bevel_top().set_bevel_type(BevelPresetType::Circle);
tdf.bevel_top().set_width(10);
tdf.bevel_top().set_height(5);
tdf.camera().set_camera_type(CameraPresetType::PerspectiveAbove);
tdf.light_rig().set_light_type(LightRigPresetType::Balanced);
tdf.light_rig().set_direction(LightingDirection::Top);
tdf.set_material(MaterialPresetType::Metal);
tdf.set_depth(20);

prs.save("metal-button.pptx", SaveFormat::PPTX);

एक ही आकार पर इफ़ेक्ट्स को संयोजित करना

शैडो और 3D फ़ॉर्मेटिंग एक ही आकार पर साथ-साथ मौजूद रह सकते हैं, जिससे पॉलिश्ड “कार्ड” डिज़ाइन संभव होते हैं:

#include <Aspose/Slides/Foss/presentation.h>

using namespace Aspose::Slides::Foss;

Presentation prs;
auto& shape = prs.slides()[0].shapes().add_auto_shape(
    ShapeType::RoundCornerRectangle, 120, 120, 360, 150
);
shape.text_frame()->set_text("Premium Card");

// Fill
shape.fill_format().set_fill_type(FillType::SOLID);
shape.fill_format().solid_fill_color().set_color(Color::from_argb(255, 30, 80, 180));

// 3D bevel
auto& tdf = shape.three_d_format();
tdf.bevel_top().set_bevel_type(BevelPresetType::Circle);
tdf.bevel_top().set_width(8);
tdf.camera().set_camera_type(CameraPresetType::PerspectiveAbove);
tdf.set_material(MaterialPresetType::Plastic);

// Drop shadow
auto& ef = shape.effect_format();
ef.enable_outer_shadow_effect();
ef.outer_shadow_effect().set_blur_radius(14);
ef.outer_shadow_effect().set_direction(270);
ef.outer_shadow_effect().set_distance(8);
ef.outer_shadow_effect().shadow_color().set_color(Color::from_argb(70, 0, 0, 0));

prs.save("premium-card.pptx", SaveFormat::PPTX);

इंस्टॉलेशन

include(FetchContent)
FetchContent_Declare(
    aspose_slides_foss
    GIT_REPOSITORY https://github.com/aspose-slides-foss/Aspose.Slides-FOSS-for-Cpp.git
    GIT_TAG main
)
FetchContent_MakeAvailable(aspose_slides_foss)
target_link_libraries(your_target PRIVATE aspose_slides_foss)

कोई Office इंस्टॉलेशन नहीं, कोई लाइसेंस कुंजी नहीं, कोई नेटवर्क कॉल नहीं; सभी प्रोसेसिंग स्थानीय रूप से होती है।.


संबंधित संसाधन