C#.jpg'de Slaytlarda Şekillerle Çalışma

Şekiller, PowerPoint sunumlarınızı daha ayrıntılı ve çekici hale getirmenin harika bir yoludur. PowerPoint, sunum slaytlarınıza ekleyebileceğiniz çok çeşitli şekiller sağlar; örneğin, elipsler, çizgiler, dikdörtgenler, bağlayıcılar vb. Bu özelliği otomatikleştirmek için bu makale, C# kullanarak programlı olarak PowerPoint slaytlarında şekillerin nasıl ekleneceğini, klonlanacağını ve kaldırılacağını kapsar.

PowerPoint Şekilleriyle Çalışmak için C# API’si

Aspose.Slides for .NET, .NET uygulamalarının içinden PowerPoint sunumlarıyla çalışmak üzere tasarlanmış bir C# API’sidir. Diğer sunum düzenleme özelliklerinin yanı sıra API, PowerPoint slaytlarındaki şekillerle çalışmanın kolay yollarını sağlar. API’nin DLL dosyasını indirebilir veya NuGet aracılığıyla yükleyebilirsiniz.

Install-Package Aspose.Slides.NET

PowerPoint Şekilleri

Aspose.Slides for .NET, PowerPoint slaytlarına ekleyebileceğiniz çok çeşitli şekil türlerini destekler. En sık kullanılan şekiller şunları içerir:

C# kullanarak PowerPoint Slaytlarına Şekil Ekleme

Elips, çizgi, dikdörtgen vb. gibi bir şekil eklemek için Aspose.Slides IShapeCollection.AddAutoShape(ShapeType, Single, Single, Single, Single) yöntemini sağlar. ShapeType sıralaması, eklemek istediğiniz şeklin türünü belirlemenizi sağlar. PowerPoint slaydına şekil ekleme adımları aşağıda verilmiştir.

Aşağıdaki kod örneği, C# kullanarak bir PowerPoint slaydına nasıl şekil ekleneceğini gösterir.

// Bir sunum dosyasını temsil eden bir Sunum nesnesinin örneğini oluşturun
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // İlk slaydı alın
    ISlide sld = pres.Slides[0];

    // Elips türünde otomatik şekil ekle
    sld.Shapes.AddAutoShape(ShapeType.Ellipse, 50, 150, 150, 50);

    // Sunumu kaydet
    pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}

C#’ta PowerPoint Şekillerini Bağlamak için Bağlayıcı Ekleme

Bağlayıcı, şekilleri birleştirmek amacıyla bağlamak için kullanılan bir çizgidir. Bir konektör düz veya eğri bir çizgi olabilir. Bir PowerPoint slaydında iki şekil arasına nasıl bağlayıcı ekleneceğini görelim.

  1. Yeni bir sunu oluşturmak için Sunum sınıfının bir örneğini oluşturun.
  2. Presentation.Slides[index] kullanarak bir slaydın referansını ISlide nesnesine alın.
  3. Önceki örnekte eklediğiniz gibi iki şekil ekleyin ve IAutoShape nesnelerinde referanslarını alın.
  4. IShapeCollection.AddConnector(ShapeType, Single, Single, Single, Single) yöntemini kullanarak yeni bir IConnector nesnesi oluşturun.
  5. IConnector.StartShapeConnectedTo ve IConnector.EndShapeConnectedTo özelliklerini kullanarak şekilleri birleştirin.
  6. En kısa otomatik bağlantı yolunu oluşturmak için IConnector.Reroute() yöntemini çağırın.
  7. Presentation.Save(String, SaveFormat) yöntemini kullanarak PPTX dosyasını kaydedin.

Aşağıdaki kod örneği, C# kullanarak bir PowerPoint slaydındaki şekillerin nasıl bağlanacağını gösterir.

// Bir sunum dosyasını temsil eden bir Sunum nesnesinin örneğini oluşturun
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // Seçili slayt için şekiller koleksiyonuna erişim
    IShapeCollection shapes = pres.Slides[0].Shapes;

    // Otomatik şekil Elips ekle
    IAutoShape ellipse = shapes.AddAutoShape(ShapeType.Ellipse, 0, 100, 100, 100);

    // Otomatik şekil Dikdörtgen ekle
    IAutoShape rectangle = shapes.AddAutoShape(ShapeType.Rectangle, 100, 300, 100, 100);

    // Slayt şekli koleksiyonuna bağlayıcı şekli ekleme
    IConnector connector = shapes.AddConnector(ShapeType.BentConnector2, 0, 0, 10, 10);

    // Şekilleri bağlayıcılara birleştirme
    connector.StartShapeConnectedTo = ellipse;
    connector.EndShapeConnectedTo = rectangle;

    // Şekiller arasındaki otomatik en kısa yolu ayarlamak için arama yeniden yönlendirme
    connector.Reroute();

    // Sunumu kaydet
    pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}

C# kullanarak PowerPoint Slaytlarında Şekilleri Klonlama

Aspose.Slides for .NET’i kullanarak şekilleri bir PowerPoint slaytından diğerine kopyalayabilirsiniz. Aşağıda bu işlemi gerçekleştirmek için adımlar verilmiştir.

  1. Sunum sınıfının bir örneğini oluşturun.
  2. Presentation.Slides[index] kullanarak ISlide nesnesine bir slaydın referansını alın.
  3. ISlide.Shapes koleksiyonunu kullanarak kaynak slayt şekillerine erişin.
  4. ISlide.Shapes koleksiyonunu kullanarak hedef slayt şekillerine erişin.
  5. Kaynak slayt şekil koleksiyonundan IShapeCollection.AddClone(ISlide) yöntemini kullanarak şekilleri hedef slayda kopyalayın.
  6. Güncellenen sunum dosyasını kaydedin.

Aşağıdaki kod örneği, C# kullanarak PowerPoint slaytlarındaki şekillerin nasıl kopyalanacağını gösterir.

// Bir sunum dosyasını temsil eden bir Sunum nesnesinin örneğini oluşturun
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // Kaynak slayttan şekil koleksiyonu elde etme
    IShapeCollection sourceShapes = pres.Slides[0].Shapes;
    ILayoutSlide blankLayout = pres.Masters[0].LayoutSlides.GetByType(SlideLayoutType.Blank);
    ISlide destSlide = pres.Slides.AddEmptySlide(blankLayout);
    
    // Hedef slayttan şekil koleksiyonunu alın
    IShapeCollection destShapes = destSlide.Shapes;
    destShapes.AddClone(sourceShapes[1], 50, 150 + sourceShapes[0].Height);
    destShapes.AddClone(sourceShapes[2]);
    
    // klon şekli
    destShapes.InsertClone(0, sourceShapes[0], 50, 150);

    // Sunumu kaydet
    pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}

C# kullanarak PowerPoint Slaytlarından Şekilleri Kaldırma

Aşağıdakiler, bir PowerPoint slaydından şekilleri kaldırma adımlarıdır.

  1. PPTX dosyasını yüklemek için Sunum sınıfının bir örneğini oluşturun.
  2. Presentation.Slides[index] öğesinden ISlide nesnesine istediğiniz slayda erişin.
  3. Belirli bir IShape.AlternativeText ile şekli bulun.
  4. ISlide.Shapes.Remove(IShape) yöntemini kullanarak şekli kaldırın.
  5. Güncellenen sunum dosyasını kaydedin.

Aşağıdaki kod örneği, C# kullanarak bir PowerPoint slaydından şekillerin nasıl kaldırılacağını gösterir.

// Bir sunum dosyasını temsil eden bir Sunum nesnesinin örneğini oluşturun
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // İlk slaydı alın
    ISlide sld = pres.Slides[0];

    // Dikdörtgen türünde otomatik şekil ekle
    IShape shp1 = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 40, 150, 50);
    IShape shp2 = sld.Shapes.AddAutoShape(ShapeType.Moon, 160, 40, 150, 50);
    
    String alttext = "User Defined";
    int iCount = sld.Shapes.Count;
   for (int i = 0; i < iCount; i++)
    {
        // şekli al
        AutoShape ashp = (AutoShape)sld.Shapes[0];
        if (String.Compare(ashp.AlternativeText, alttext, StringComparison.Ordinal) == 0)
        {
            // şekli kaldır
            sld.Shapes.Remove(ashp);
        }
    }

    // Sunumu kaydet
    pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}

Çözüm

MS PowerPoint, slaytlarınızı daha ayrıntılı hale getirmek için çeşitli şekil türleri kullanmanıza izin verir. Şekillerinizi çizmek için elipsleri, dikdörtgenleri, çizgileri vb. ve bunları birleştirmek için bağlayıcıları kullanabilirsiniz. Adımların ve kod örneklerinin yardımıyla bu makale, C# kullanarak programlı olarak PowerPoint slaytlarında şekillerin nasıl ekleneceğini, klonlanacağını ve kaldırılacağını ele aldı. API hakkında daha fazla bilgi edinmek isterseniz belgeleri ziyaret edebilirsiniz.

Ayrıca bakınız