Java'da PowerPoint Şekillerini Biçimlendirme
Giriş
PowerPoint’te, slaytlara şekil ekleyebilirsiniz. Şekiller çizgilerden oluştuğu için, kenarlıklarını değiştirerek veya efektler uygulayarak biçimlendirebilirsiniz. Ayrıca, şekillerin içlerinin nasıl doldurulacağını kontrol eden ayarları belirleyerek şekilleri biçimlendirebilirsiniz.

Aspose.Slides for Java, PowerPoint’te mevcut olan aynı seçenekleri kullanarak şekilleri biçimlendirmenizi sağlayan arabirimler ve yöntemler sunar.
Çizgi Biçimlendirme
Aspose.Slides kullanarak bir şekil için özel bir çizgi stili belirtebilirsiniz. Aşağıdaki adımlar prosedürü özetlemektedir:
- Bir Presentation sınıfının bir örneğini oluşturun.
- İndeksine göre bir slayta referans alın.
- Slayta bir IAutoShape ekleyin.
- Şeklin line style özelliğini ayarlayın.
- Çizgi genişliğini ayarlayın.
- Çizginin dash style özelliğini ayarlayın.
- Şekil için çizgi rengini ayarlayın.
- Değiştirilen sunumu PPTX dosyası olarak kaydedin.
Aşağıdaki kod, bir AutoShape dikdörtgenini nasıl biçimlendireceğinizi gösterir:
// Sunum dosyasını temsil eden Presentation sınıfını örnekleyin.
Presentation presentation = new Presentation();
try {
// İlk slaytı alın.
ISlide slide = presentation.getSlides().get_Item(0);
// Rectangle türünde bir otomatik şekil ekleyin.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 150, 150, 75);
// Dikdörtgen şeklinin dolgu rengini ayarlayın.
shape.getFillFormat().setFillType(FillType.NoFill);
// Dikdörtgenin çizgilerine biçimlendirme uygulayın.
shape.getLineFormat().setStyle(LineStyle.ThickThin);
shape.getLineFormat().setWidth(7);
shape.getLineFormat().setDashStyle(LineDashStyle.Dash);
// Dikdörtgenin çizgi rengini ayarlayın.
shape.getLineFormat().getFillFormat().setFillType(FillType.Solid);
shape.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE);
// PPTX dosyasını diske kaydedin.
presentation.save("formatted_lines.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Sonuç:

Birleştirme Stilleri Biçimlendirme
İşte üç birleştirme tipi seçeneği:
- Yuvarlak
- Miter
- Bevel
PowerPoint varsayılan olarak iki çizgiyi bir açıyla (örneğin bir şeklin köşesinde) birleştirirken Yuvarlak ayarını kullanır. Ancak, keskin açılara sahip bir şekil çizerseniz Miter seçeneğini tercih edebilirsiniz.

// Sunum dosyasını temsil eden Presentation sınıfının bir örneğini oluşturun.
Presentation presentation = new Presentation();
try {
// İlk slaytı alın.
ISlide slide = presentation.getSlides().get_Item(0);
// Rectangle türünde üç otomatik şekil ekleyin.
IAutoShape shape1 = slide.getShapes().addAutoShape(ShapeType.Rectangle, 20, 20, 150, 75);
IAutoShape shape2 = slide.getShapes().addAutoShape(ShapeType.Rectangle, 210, 20, 150, 75);
IAutoShape shape3 = slide.getShapes().addAutoShape(ShapeType.Rectangle, 20, 135, 150, 75);
// Her dikdörtgen şeklinin dolgu rengini ayarlayın.
shape1.getFillFormat().setFillType(FillType.Solid);
shape1.getFillFormat().getSolidFillColor().setColor(Color.BLACK);
shape2.getFillFormat().setFillType(FillType.Solid);
shape2.getFillFormat().getSolidFillColor().setColor(Color.BLACK);
shape3.getFillFormat().setFillType(FillType.Solid);
shape3.getFillFormat().getSolidFillColor().setColor(Color.BLACK);
// Çizgi genişliğini ayarlayın.
shape1.getLineFormat().setWidth(15);
shape2.getLineFormat().setWidth(15);
shape3.getLineFormat().setWidth(15);
// Her dikdörtgenin çizgi rengini ayarlayın.
shape1.getLineFormat().getFillFormat().setFillType(FillType.Solid);
shape1.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE);
shape2.getLineFormat().getFillFormat().setFillType(FillType.Solid);
shape2.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE);
shape3.getLineFormat().getFillFormat().setFillType(FillType.Solid);
shape3.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE);
// Birleştirme stilini ayarlayın.
shape1.getLineFormat().setJoinStyle(LineJoinStyle.Miter);
shape2.getLineFormat().setJoinStyle(LineJoinStyle.Bevel);
shape3.getLineFormat().setJoinStyle(LineJoinStyle.Round);
// Her dikdörtgenin metnini ekleyin.
shape1.getTextFrame().setText("Miter Join Style");
shape2.getTextFrame().setText("Bevel Join Style");
shape3.getTextFrame().setText("Round Join Style");
// PPTX dosyasını diske kaydedin.
presentation.save("join_styles.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Gradyan Dolgu
PowerPoint’te Gradient Fill, bir şekle sürekli bir renk karışımı uygulamanızı sağlayan bir biçimlendirme seçeneğidir. Örneğin, iki veya daha fazla rengi birinin yavaşça diğerine geçecek şekilde uygulayabilirsiniz.
Aspose.Slides kullanarak bir şekle gradyan dolgu uygulamak için şu adımları izleyin:
- Bir Presentation sınıfının bir örneğini oluşturun.
- İndeksine göre bir slayta referans alın.
- Slayta bir IAutoShape ekleyin.
- Şeklin FillType özelliğini
Gradientolarak ayarlayın. - İki tercih ettiğiniz rengi, tanımlı konumlarla, IGradientFormat arayüzünün sunduğu
addmetodlarıyla ekleyin. - Değiştirilen sunumu PPTX dosyası olarak kaydedin.
// Sunum dosyasını temsil eden Presentation sınıfının bir örneğini oluşturun.
Presentation presentation = new Presentation();
try {
// İlk slaytı alın.
ISlide slide = presentation.getSlides().get_Item(0);
// Ellipse türünde bir otomatik şekil ekleyin.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Ellipse, 50, 50, 150, 75);
// Elips'e gradyan biçimlendirme uygulayın.
shape.getFillFormat().setFillType(FillType.Gradient);
shape.getFillFormat().getGradientFormat().setGradientShape(GradientShape.Linear);
// Gradyanın yönünü ayarlayın.
shape.getFillFormat().getGradientFormat().setGradientDirection(GradientDirection.FromCorner2);
// İki gradyan durağı ekleyin.
shape.getFillFormat().getGradientFormat().getGradientStops().addPresetColor((float)1.0, PresetColor.Purple);
shape.getFillFormat().getGradientFormat().getGradientStops().addPresetColor((float)0, PresetColor.Red);
// PPTX dosyasını diske kaydedin.
presentation.save("gradient_fill.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Sonuç:

Desen Dolgu
PowerPoint’te Pattern Fill, şekle iki renkli bir tasarım—nokta, çizgi, çapraz tarama veya kare gibi—uygulamanızı sağlayan bir biçimlendirme seçeneğidir. Desenin ön ve arka plan renklerini özelleştirebilirsiniz.
Aspose.Slides, sunumlarınızın görsel çekiciliğini artırmak için şekillere uygulayabileceğiniz 45’ten fazla ön tanımlı desen stiline sahiptir. Ön tanımlı bir deseni seçtikten sonra, kullanılacak kesin renkleri yine belirleyebilirsiniz.
Aspose.Slides kullanarak bir şekle desen dolgu uygulamak için şu adımları izleyin:
- Bir Presentation sınıfının bir örneğini oluşturun.
- İndeksine göre bir slayta referans alın.
- Slayta bir IAutoShape ekleyin.
- Şeklin FillType özelliğini
Patternolarak ayarlayın. - Ön tanımlı seçeneklerden bir desen stilini seçin.
- Desenin Background Color özelliğini ayarlayın.
- Desenin Foreground Color özelliğini ayarlayın.
- Değiştirilen sunumu PPTX dosyası olarak kaydedin.
// Sunum dosyasını temsil eden Presentation sınıfının bir örneğini oluşturun.
Presentation presentation = new Presentation();
try {
// İlk slaytı alın.
ISlide slide = presentation.getSlides().get_Item(0);
// Rectangle türünde bir otomatik şekil ekleyin.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);
// Dolgu tipini Pattern olarak ayarlayın.
shape.getFillFormat().setFillType(FillType.Pattern);
// Desen stilini ayarlayın.
shape.getFillFormat().getPatternFormat().setPatternStyle(PatternStyle.Trellis);
// Desenin arka plan ve ön plan renklerini ayarlayın.
shape.getFillFormat().getPatternFormat().getBackColor().setColor(Color.LIGHT_GRAY);
shape.getFillFormat().getPatternFormat().getForeColor().setColor(Color.YELLOW);
// PPTX dosyasını diske kaydedin.
presentation.save("pattern_fill.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Sonuç:

Resim Dolgu
PowerPoint’te Picture Fill, bir resmi şeklin içine yerleştirmenizi sağlayan bir biçimlendirme seçeneğidir; böylece resmi şeklin arka planı olarak kullanabilirsiniz.
Aspose.Slides kullanarak bir şekle resim dolgu uygulamak için şu adımları izleyin:
- Bir Presentation sınıfının bir örneğini oluşturun.
- İndeksine göre bir slayta referans alın.
- Slayta bir IAutoShape ekleyin.
- Şeklin FillType özelliğini
Pictureolarak ayarlayın. - Resim dolgu modunu
Tile(veya tercih ettiğiniz başka bir mod) olarak ayarlayın. - Kullanmak istediğiniz görüntüden bir IPPImage nesnesi oluşturun.
- Görüntüyü
ISlidesPicture.setImagemetoduna aktarın. - Değiştirilen sunumu PPTX dosyası olarak kaydedin.

// Sunum dosyasını temsil eden Presentation sınıfının bir örneğini oluşturun.
Presentation presentation = new Presentation();
try {
// İlk slaytı alın.
ISlide slide = presentation.getSlides().get_Item(0);
// Rectangle türünde bir otomatik şekil ekleyin.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 255, 130);
// Dolgu tipini Picture olarak ayarlayın.
shape.getFillFormat().setFillType(FillType.Picture);
// Resim dolgu modunu ayarlayın.
shape.getFillFormat().getPictureFillFormat().setPictureFillMode(PictureFillMode.Tile);
// Bir görüntü yükleyin ve sunum kaynaklarına ekleyin.
IImage image = Images.fromFile("lotus.png");
IPPImage picture = presentation.getImages().addImage(image);
image.dispose();
// Resmi ayarlayın.
shape.getFillFormat().getPictureFillFormat().getPicture().setImage(picture);
// PPTX dosyasını diske kaydedin.
presentation.save("picture_fill.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Sonuç:

Döşeme Resmi Doku Olarak
Bir döşeme resmi dokusu ayarlamak ve döşeme davranışını özelleştirmek istiyorsanız, IPictureFillFormat arayüzünün ve PictureFillFormat sınıfının aşağıdaki metodlarını kullanabilirsiniz:
- setPictureFillMode: Resim dolgu modunu ayarlar —
TileveyaStretch. - setTileAlignment: Döşemelerin şekil içinde hizalanmasını belirtir.
- setTileFlip: Döşemenin yatay, dikey ya da her iki yönde çevrilip çevrilmeyeceğini kontrol eder.
- setTileOffsetX: Döşemenin şeklin orijinalinden yatay ofsetini (point cinsinden) ayarlar.
- setTileOffsetY: Döşemenin şeklin orijinalinden düşey ofsetini (point cinsinden) ayarlar.
- setTileScaleX: Döşemenin yatay ölçeğini yüzde olarak tanımlar.
- setTileScaleY: Döşemenin düşey ölçeğini yüzde olarak tanımlar.
Aşağıdaki kod örneği, döşeme resimli bir dikdörtgen şekli ekleyip döşeme seçeneklerini yapılandırır:
// Sunum dosyasını temsil eden Presentation sınıfının bir örneğini oluşturun.
Presentation presentation = new Presentation();
try {
// İlk slaytı alın.
ISlide firstSlide = presentation.getSlides().get_Item(0);
// Rectangle otomatik şekli ekleyin.
IAutoShape shape = firstSlide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 190, 95);
// Şeklin dolgu tipini Picture olarak ayarlayın.
shape.getFillFormat().setFillType(FillType.Picture);
// Görüntüyü yükleyin ve sunum kaynaklarına ekleyin.
IImage sourceImage = Images.fromFile("lotus.png");
IPPImage presentationImage = presentation.getImages().addImage(sourceImage);
sourceImage.dispose();
// Görüntüyü şekle atayın.
IPictureFillFormat pictureFillFormat = shape.getFillFormat().getPictureFillFormat();
pictureFillFormat.getPicture().setImage(presentationImage);
// Resim dolgu modunu ve döşeme özelliklerini yapılandırın.
pictureFillFormat.setPictureFillMode(PictureFillMode.Tile);
pictureFillFormat.setTileOffsetX(-32);
pictureFillFormat.setTileOffsetY(-32);
pictureFillFormat.setTileScaleX(50);
pictureFillFormat.setTileScaleY(50);
pictureFillFormat.setTileAlignment(RectangleAlignment.BottomRight);
pictureFillFormat.setTileFlip(TileFlip.FlipBoth);
// PPTX dosyasını diske kaydedin.
presentation.save("tile.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Sonuç:

Düz Renk Dolgu
PowerPoint’te Solid Color Fill, bir şekli tek, tekdüze bir renkle dolduran bir biçimlendirme seçeneğidir. Bu sade arka plan rengi, gradyan, doku ya da desen olmadan uygulanır.
Aspose.Slides kullanarak bir şekle düz renk dolgu uygulamak için şu adımları izleyin:
- Bir Presentation sınıfının bir örneğini oluşturun.
- İndeksine göre bir slayta referans alın.
- Slayta bir IAutoShape ekleyin.
- Şeklin FillType özelliğini
Solidolarak ayarlayın. - Şekle tercih ettiğiniz dolgu rengini atayın.
- Değiştirilen sunumu PPTX dosyası olarak kaydedin.
// Sunum dosyasını temsil eden Presentation sınıfının bir örneğini oluşturun.
Presentation presentation = new Presentation();
try {
// İlk slaytı alın.
ISlide slide = presentation.getSlides().get_Item(0);
// Rectangle türünde bir otomatik şekil ekleyin.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);
// Dolgu tipini Solid olarak ayarlayın.
shape.getFillFormat().setFillType(FillType.Solid);
// Dolgu rengini ayarlayın.
shape.getFillFormat().getSolidFillColor().setColor(Color.YELLOW);
// PPTX dosyasını diske kaydedin.
presentation.save("solid_color_fill.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Sonuç:

Şeffaflık Ayarla
PowerPoint’te, bir şekle düz renk, gradyan, resim ya da doku dolgusu uyguladığınızda, dolgunun opaklığını kontrol etmek için bir şeffaflık seviyesi de belirleyebilirsiniz. Daha yüksek şeffaflık değeri, şeklin daha çok görünür olmasını sağlar; arka plan ya da alt nesneler kısmen görülebilir.
Aspose.Slides, dolgu rengi içindeki alfa değerini ayarlayarak şeffaflık seviyesini belirlemenize olanak tanır. İşte nasıl yapılacağı:
- Bir Presentation sınıfının bir örneğini oluşturun.
- İndeksine göre bir slayta referans alın.
- Slayta bir IAutoShape ekleyin.
- FillType özelliğini
Solidolarak ayarlayın. Coloraracılığıyla alfa bileşeni şeffaflığı kontrol eden bir renk tanımlayın.- Sunumu kaydedin.
// Sunum dosyasını temsil eden Presentation sınıfının bir örneğini oluşturun.
Presentation presentation = new Presentation();
try {
// İlk slaytı alın.
ISlide slide = presentation.getSlides().get_Item(0);
// Katı bir dikdörtgen otomatik şekil ekleyin.
IAutoShape solidShape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);
// Katı şeklin üzerine şeffaf bir dikdörtgen otomatik şekil ekleyin.
IAutoShape transparentShape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 80, 80, 150, 75);
transparentShape.getFillFormat().setFillType(FillType.Solid);
transparentShape.getFillFormat().getSolidFillColor().setColor(new Color(255, 255, 0, 204));
// PPTX dosyasını diske kaydedin.
presentation.save("shape_transparency.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Sonuç:

Şekilleri Döndürme
Aspose.Slides, PowerPoint sunumlarında şekilleri döndürmenizi sağlar. Bu, görsel öğeleri belirli hizalama ya da tasarım gereksinimleriyle konumlandırırken faydalı olabilir.
Bir slayttaki şekli döndürmek için şu adımları izleyin:
- Bir Presentation sınıfının bir örneğini oluşturun.
- İndeksine göre bir slayta referans alın.
- Slayta bir IAutoShape ekleyin.
- Şeklin döndürme özelliğini istediğiniz açıya ayarlayın.
- Sunumu kaydedin.
// Sunum dosyasını temsil eden Presentation sınıfının bir örneğini oluşturun.
Presentation presentation = new Presentation();
try {
// İlk slaytı alın.
ISlide slide = presentation.getSlides().get_Item(0);
// Rectangle türünde bir otomatik şekil ekleyin.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);
// Şekli 5 derece döndürün.
shape.setRotation(5);
// PPTX dosyasını diske kaydedin.
presentation.save("shape_rotation.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Sonuç:

3D Kenar Efektleri Ekle
Aspose.Slides, şekillerin ThreeDFormat özelliklerini yapılandırarak 3D kenar (bevel) efektleri uygulamanıza olanak tanır.
Bir şekle 3D kenar efekti eklemek için şu adımları izleyin:
- Presentation sınıfının bir örneğini oluşturun.
- İndeksine göre bir slayta referans alın.
- Slayta bir IAutoShape ekleyin.
- Şeklin ThreeDFormat özelliğini kenar ayarlarını tanımlayacak şekilde yapılandırın.
- Sunumu kaydedin.
// Presentation sınıfının bir örneğini oluşturun.
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
// Slayta bir şekil ekleyin.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Ellipse, 50, 50, 100, 100);
shape.getFillFormat().setFillType(FillType.Solid);
shape.getFillFormat().getSolidFillColor().setColor(Color.GREEN);
shape.getLineFormat().getFillFormat().setFillType(FillType.Solid);
shape.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.ORANGE);
shape.getLineFormat().setWidth(2.0);
// Şeklin ThreeDFormat özelliklerini ayarlayın.
shape.getThreeDFormat().setDepth(4);
shape.getThreeDFormat().getBevelTop().setBevelType(BevelPresetType.Circle);
shape.getThreeDFormat().getBevelTop().setHeight(6);
shape.getThreeDFormat().getBevelTop().setWidth(6);
shape.getThreeDFormat().getCamera().setCameraType(CameraPresetType.OrthographicFront);
shape.getThreeDFormat().getLightRig().setLightType(LightRigPresetType.ThreePt);
shape.getThreeDFormat().getLightRig().setDirection(LightingDirection.Top);
// Sunumu PPTX dosyası olarak kaydedin.
presentation.save("3D_bevel_effect.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Sonuç:

3D Döndürme Efektleri Ekle
Aspose.Slides, şekillerin ThreeDFormat özelliklerini yapılandırarak 3D döndürme efektleri uygulamanıza olanak tanır.
Bir şekle 3D döndürme uygulamak için:
- Bir Presentation sınıfının bir örneğini oluşturun.
- İndeksine göre bir slayta referans alın.
- Slayta bir IAutoShape ekleyin.
- 3D döndürmeyi tanımlamak için setCameraType ve setLightType metodlarını kullanın.
- Sunumu kaydedin.
// Presentation sınıfının bir örneğini oluşturun.
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IAutoShape autoShape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);
autoShape.getTextFrame().setText("Hello, Aspose!");
autoShape.getThreeDFormat().setDepth(6);
autoShape.getThreeDFormat().getCamera().setRotation(40, 35, 20);
autoShape.getThreeDFormat().getCamera().setCameraType(CameraPresetType.IsometricLeftUp);
autoShape.getThreeDFormat().getLightRig().setLightType(LightRigPresetType.Balanced);
// Sunumu PPTX dosyası olarak kaydedin.
presentation.save("3D_rotation_effect.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Sonuç:

Biçimlendirmeyi Sıfırla
Aşağıdaki Java kodu, bir slaydın biçimlendirmesini sıfırlayarak LayoutSlide üzerindeki yer tutucularla tüm şekillerin konum, boyut ve biçimlendirmesini varsayılan ayarlara geri döndürür:
Presentation presentation = new Presentation("sample.pptx");
try {
for (ISlide slide : presentation.getSlides()) {
// Yerleşimde yer tutucu bulunan slayttaki her şekli sıfırla.
slide.reset();
}
presentation.save("reset_formatting.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
SSS
Şekil biçimlendirmesi son sunum dosya boyutunu etkiler mi?
Sadece çok az bir etkisi vardır. Gömülü görüntüler ve medya dosyaları dosya alanının büyük bir kısmını oluşturur, renkler, efektler ve gradyanlar gibi şekil parametreleri ise meta veri olarak saklanır ve neredeyse ek bir boyut katmaz.
Aynı biçimlendirmeye sahip şekilleri bir slaytta nasıl tespit edip gruplandırabilirim?
Her şeklin temel biçimlendirme özelliklerini—dolgu, çizgi ve efekt ayarlarını—karşılaştırın. Tüm ilgili değerler eşleşiyorsa, stillerini aynı olarak kabul edip bu şekilleri mantıksal olarak gruplayın; bu, daha sonraki stil yönetimini basitleştirir.
Özel şekil stillerini başka sunumlarda yeniden kullanmak üzere ayrı bir dosyada kaydedebilir miyim?
Evet. İstediğiniz stillere sahip örnek şekilleri bir şablon slayt destesi ya da .POTX şablon dosyasında saklayın. Yeni bir sunum oluştururken şablonu açın, ihtiyacınız olan stilli şekilleri kopyalayın ve gerektiği yerde biçimlendirmeyi yeniden uygulayın.