Định dạng Hình dạng PowerPoint trong Java
Giới thiệu
Trong PowerPoint, bạn có thể thêm các hình dạng vào các slide. Vì các hình dạng được tạo thành từ các đường, bạn có thể định dạng chúng bằng cách chỉnh sửa hoặc áp dụng hiệu ứng cho viền của chúng. Ngoài ra, bạn có thể định dạng các hình dạng bằng cách chỉ định các cài đặt kiểm soát cách phần bên trong của chúng được lấp đầy.

Aspose.Slides for Java cung cấp các giao diện và phương thức cho phép bạn định dạng các hình dạng bằng các tùy chọn có sẵn trong PowerPoint.
Định dạng Đường
Bạn có thể chỉ định kiểu đường tùy chỉnh cho một hình dạng bằng Aspose.Slides. Các bước sau mô tả quy trình:
- Tạo một thể hiện của lớp Presentation.
- Lấy tham chiếu đến một slide theo chỉ mục của nó.
- Thêm một IAutoShape vào slide.
- Đặt line style cho hình dạng.
- Đặt độ rộng đường.
- Đặt dash style cho đường.
- Đặt màu đường cho hình dạng.
- Lưu bản trình chiếu đã chỉnh sửa dưới dạng tệp PPTX.
Đoạn mã sau minh họa cách định dạng một AutoShape hình chữ nhật:
import com.aspose.slides.*;
import java.awt.Color;
// Khởi tạo lớp Presentation đại diện cho tệp bản trình chiếu.
Presentation presentation = new Presentation();
try {
// Lấy slide đầu tiên.
ISlide slide = presentation.getSlides().get_Item(0);
// Thêm một auto shape loại Rectangle.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 150, 150, 75);
// Đặt màu nền cho hình chữ nhật.
shape.getFillFormat().setFillType(FillType.NoFill);
// Áp dụng định dạng cho các đường của hình chữ nhật.
shape.getLineFormat().setStyle(LineStyle.ThickThin);
shape.getLineFormat().setWidth(7);
shape.getLineFormat().setDashStyle(LineDashStyle.Dash);
// Đặt màu cho đường của hình chữ nhật.
shape.getLineFormat().getFillFormat().setFillType(FillType.Solid);
shape.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE);
// Lưu tệp PPTX vào đĩa.
presentation.save("formatted_lines.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}

Áp dụng Hiệu ứng Phác thảo cho Đường viền Hình dạng
Hiệu ứng phác thảo làm cho đường viền của hình dạng trông như được vẽ tay. Sử dụng IShape.getLineFormat để truy cập các cài đặt đường, ILineFormat.getSketchFormat để truy cập các cài đặt phác thảo, và ISketchFormat.setSketchType để chọn một giá trị trong liệt kê LineSketchType.
Đoạn mã Java sau cho thấy cách áp dụng hiệu ứng LineSketchType.Curved , đọc giá trị được gán rõ ràng, và loại bỏ hiệu ứng bằng LineSketchType.None:
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 200, 100);
// Truy cập định dạng đường của hình dạng và định dạng phác thảo của nó.
ISketchFormat sketchFormat = shape.getLineFormat().getSketchFormat();
// Áp dụng hiệu ứng phác thảo.
sketchFormat.setSketchType(LineSketchType.Curved);
// Đọc hiệu ứng phác thảo được gán trực tiếp cho hình dạng.
int explicitSketchType = sketchFormat.getSketchType();
System.out.println("Explicit sketch type: " + explicitSketchType);
// Xóa bỏ hiệu ứng phác thảo.
sketchFormat.setSketchType(LineSketchType.None);
} finally {
presentation.dispose();
}
Giá trị trả về bởi ISketchFormat.getSketchType đại diện cho cài đặt được gán trực tiếp cho hình dạng. Nếu định dạng đường có thể được kế thừa từ chủ đề, slide chủ hoặc slide bố cục, sử dụng ILineFormat.getEffective, truy cập ILineFormatEffectiveData.getSketchFormat, và đọc ISketchFormatEffectiveData.getSketchType. Giá trị hiệu quả phản ánh định dạng thực sự được áp dụng sau khi kế thừa được giải quyết:
Presentation presentation = new Presentation("presentation.pptx");
try {
IShape shape = presentation.getSlides().get_Item(0).getShapes().get_Item(0);
ILineFormat lineFormat = shape.getLineFormat();
int explicitSketchType = lineFormat.getSketchFormat().getSketchType();
ILineFormatEffectiveData effectiveLineFormat = lineFormat.getEffective();
int effectiveSketchType = effectiveLineFormat.getSketchFormat().getSketchType();
System.out.println("Explicit sketch type: " + explicitSketchType);
System.out.println("Effective sketch type: " + effectiveSketchType);
} finally {
presentation.dispose();
}
Định dạng Kiểu Nối
Dưới đây là ba tùy chọn kiểu nối:
- Tròn
- Mép
- Xén
Mặc định, khi PowerPoint nối hai đường ở một góc (chẳng hạn ở góc của một hình dạng), nó sử dụng cài đặt Tròn. Tuy nhiên, nếu bạn vẽ một hình dạng với các góc nhọn, bạn có thể thích tùy chọn Mép.

Đoạn mã Java sau minh họa cách ba hình chữ nhật (như trong hình trên) được tạo bằng cài đặt kiểu nối Mép, Xén và Tròn:
import com.aspose.slides.*;
import java.awt.Color;
// Khởi tạo lớp Presentation đại diện cho tệp bản trình chiếu.
Presentation presentation = new Presentation();
try {
// Lấy slide đầu tiên.
ISlide slide = presentation.getSlides().get_Item(0);
// Thêm ba auto shape loại Rectangle.
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);
// Đặt màu nền cho mỗi hình chữ nhật.
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);
// Đặt độ rộng đường.
shape1.getLineFormat().setWidth(15);
shape2.getLineFormat().setWidth(15);
shape3.getLineFormat().setWidth(15);
// Đặt màu cho đường của mỗi hình chữ nhật.
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);
// Đặt kiểu nối.
shape1.getLineFormat().setJoinStyle(LineJoinStyle.Miter);
shape2.getLineFormat().setJoinStyle(LineJoinStyle.Bevel);
shape3.getLineFormat().setJoinStyle(LineJoinStyle.Round);
// Thêm văn bản vào mỗi hình chữ nhật.
shape1.getTextFrame().setText("Miter Join Style");
shape2.getTextFrame().setText("Bevel Join Style");
shape3.getTextFrame().setText("Round Join Style");
// Lưu tệp PPTX vào đĩa.
presentation.save("join_styles.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Đổ màu Gradient
Trong PowerPoint, Đổ màu Gradient là một tùy chọn định dạng cho phép bạn áp dụng sự pha trộn liền mạch của các màu lên một hình dạng. Ví dụ, bạn có thể áp dụng hai màu hoặc nhiều màu sao cho một màu dần chuyển sang màu khác.
Dưới đây là cách áp dụng đổ màu gradient cho một hình dạng bằng Aspose.Slides:
- Tạo một thể hiện của lớp Presentation.
- Lấy tham chiếu đến một slide theo chỉ mục của nó.
- Thêm một IAutoShape vào slide.
- Đặt FillType của hình dạng thành
Gradient. - Thêm hai màu bạn muốn cùng với vị trí đã xác định bằng các phương thức
addcủa tập hợp gradient stop được cung cấp bởi giao diện IGradientFormat. - Lưu bản trình chiếu đã chỉnh sửa dưới dạng tệp PPTX.
import com.aspose.slides.*;
// Khởi tạo lớp Presentation đại diện cho tệp bản trình chiếu.
Presentation presentation = new Presentation();
try {
// Lấy slide đầu tiên.
ISlide slide = presentation.getSlides().get_Item(0);
// Thêm một auto shape loại Ellipse.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Ellipse, 50, 50, 150, 75);
// Áp dụng định dạng gradient cho ellipse.
shape.getFillFormat().setFillType(FillType.Gradient);
shape.getFillFormat().getGradientFormat().setGradientShape(GradientShape.Linear);
// Đặt hướng của gradient.
shape.getFillFormat().getGradientFormat().setGradientDirection(GradientDirection.FromCorner2);
// Thêm hai điểm dừng gradient.
shape.getFillFormat().getGradientFormat().getGradientStops().addPresetColor((float)1.0, PresetColor.Purple);
shape.getFillFormat().getGradientFormat().getGradientStops().addPresetColor((float)0, PresetColor.Red);
// Lưu tệp PPTX vào đĩa.
presentation.save("gradient_fill.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}

Nếu một gradient trông khác trong hình ảnh xuất khẩu so với trong PowerPoint, xem Chọn Kiểu Hiển thị Gradient. Bạn có thể chọn kiểu hiển thị mà không thay đổi gradient được lưu trong bản trình chiếu.
Đổ mẫu
Trong PowerPoint, Đổ mẫu là một tùy chọn định dạng cho phép bạn áp dụng một thiết kế hai màu — như chấm, sọc, thước chéo, hoặc caro — lên một hình dạng. Bạn có thể chọn màu tùy chỉnh cho tiền cảnh và nền của mẫu.
Aspose.Slides cung cấp hơn 45 kiểu mẫu được định nghĩa sẵn mà bạn có thể áp dụng cho các hình dạng để tăng tính thẩm mỹ cho bản trình chiếu. Ngay cả khi đã chọn một mẫu đã định nghĩa, bạn vẫn có thể chỉ định màu chính xác mà nó sẽ sử dụng.
Dưới đây là cách áp dụng đổ mẫu cho một hình dạng bằng Aspose.Slides:
- Tạo một thể hiện của lớp Presentation.
- Lấy tham chiếu đến một slide theo chỉ mục của nó.
- Thêm một IAutoShape vào slide.
- Đặt FillType của hình dạng thành
Pattern. - Chọn một kiểu mẫu từ các tùy chọn đã định nghĩa sẵn.
- Đặt Màu nền của mẫu.
- Đặt Màu tiền của mẫu.
- Lưu bản trình chiếu đã chỉnh sửa dưới dạng tệp PPTX.
import com.aspose.slides.*;
import java.awt.Color;
// Khởi tạo lớp Presentation đại diện cho tệp bản trình chiếu.
Presentation presentation = new Presentation();
try {
// Lấy slide đầu tiên.
ISlide slide = presentation.getSlides().get_Item(0);
// Thêm một auto shape loại Rectangle.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);
// Đặt kiểu lấp đầy thành Pattern.
shape.getFillFormat().setFillType(FillType.Pattern);
// Đặt kiểu mẫu.
shape.getFillFormat().getPatternFormat().setPatternStyle(PatternStyle.Trellis);
// Đặt màu nền và màu tiền cảnh của mẫu.
shape.getFillFormat().getPatternFormat().getBackColor().setColor(Color.LIGHT_GRAY);
shape.getFillFormat().getPatternFormat().getForeColor().setColor(Color.YELLOW);
// Lưu tệp PPTX vào đĩa.
presentation.save("pattern_fill.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}

Đổ hình ảnh
Trong PowerPoint, Đổ hình ảnh là một tùy chọn định dạng cho phép bạn chèn một hình ảnh bên trong một hình dạng — thực tế sử dụng hình ảnh làm nền cho hình dạng.
Dưới đây là cách sử dụng Aspose.Slides để áp dụng đổ hình ảnh cho một hình dạng:
- Tạo một thể hiện của lớp Presentation.
- Lấy tham chiếu đến một slide theo chỉ mục của nó.
- Thêm một IAutoShape vào slide.
- Đặt FillType của hình dạng thành
Picture. - Đặt chế độ đổ hình ảnh thành
Tile(hoặc chế độ khác mong muốn). - Tạo một đối tượng IPPImage từ hình ảnh bạn muốn sử dụng.
- Gửi hình ảnh tới phương thức
ISlidesPicture.setImage. - Lưu bản trình chiếu đã chỉnh sửa dưới dạng tệp PPTX.

import com.aspose.slides.*;
// Khởi tạo lớp Presentation đại diện cho tệp bản trình chiếu.
Presentation presentation = new Presentation();
try {
// Lấy slide đầu tiên.
ISlide slide = presentation.getSlides().get_Item(0);
// Thêm một auto shape loại Rectangle.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 255, 130);
// Đặt kiểu lấp đầy thành Picture.
shape.getFillFormat().setFillType(FillType.Picture);
// Đặt chế độ đổ hình ảnh.
shape.getFillFormat().getPictureFillFormat().setPictureFillMode(PictureFillMode.Tile);
// Tải một hình ảnh và thêm nó vào tài nguyên của bản trình chiếu.
IImage image = Images.fromFile("lotus.png");
IPPImage picture = presentation.getImages().addImage(image);
image.dispose();
// Đặt hình ảnh.
shape.getFillFormat().getPictureFillFormat().getPicture().setImage(picture);
// Lưu tệp PPTX vào đĩa.
presentation.save("picture_fill.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}

Xếp Hình ảnh Thành Kết Cấu
Nếu bạn muốn đặt một hình ảnh xếp dạng ô làm kết cấu và tùy chỉnh hành vi xếp ô, bạn có thể sử dụng các phương thức sau của giao diện IPictureFillFormat và lớp PictureFillFormat:
- setPictureFillMode: Đặt chế độ đổ hình ảnh—hoặc
TilehoặcStretch. - setTileAlignment: Xác định vị trí căn chỉnh của các ô trong hình dạng.
- setTileFlip: Điều khiển việc lật ô theo chiều ngang, dọc, hoặc cả hai.
- setTileOffsetX: Đặt độ dịch chuyển ngang của ô (đơn vị point) từ gốc của hình dạng.
- setTileOffsetY: Đặt độ dịch chuyển dọc của ô (đơn vị point) từ gốc của hình dạng.
- setTileScaleX: Xác định tỷ lệ ngang của ô dưới dạng phần trăm.
- setTileScaleY: Xác định tỷ lệ dọc của ô dưới dạng phần trăm.
import com.aspose.slides.*;
// Khởi tạo lớp Presentation đại diện cho tệp bản trình chiếu.
Presentation presentation = new Presentation();
try {
// Lấy slide đầu tiên.
ISlide firstSlide = presentation.getSlides().get_Item(0);
// Thêm một auto shape hình chữ nhật.
IAutoShape shape = firstSlide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 190, 95);
// Đặt kiểu lấp đầy của hình dạng thành Picture.
shape.getFillFormat().setFillType(FillType.Picture);
// Tải hình ảnh và thêm nó vào tài nguyên của bản trình chiếu.
IImage sourceImage = Images.fromFile("lotus.png");
IPPImage presentationImage = presentation.getImages().addImage(sourceImage);
sourceImage.dispose();
// Gán hình ảnh cho hình dạng.
IPictureFillFormat pictureFillFormat = shape.getFillFormat().getPictureFillFormat();
pictureFillFormat.getPicture().setImage(presentationImage);
// Cấu hình chế độ đổ hình ảnh và các thuộc tính xếp ô.
pictureFillFormat.setPictureFillMode(PictureFillMode.Tile);
pictureFillFormat.setTileOffsetX(-32);
pictureFillFormat.setTileOffsetY(-32);
pictureFillFormat.setTileScaleX(50);
pictureFillFormat.setTileScaleY(50);
pictureFillFormat.setTileAlignment(RectangleAlignment.BottomRight);
pictureFillFormat.setTileFlip(TileFlip.FlipBoth);
// Lưu tệp PPTX vào đĩa.
presentation.save("tile.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}

Đổ Màu Đơn
Trong PowerPoint, Đổ màu Đơn là một tùy chọn định dạng cho phép bạn lấp đầy một hình dạng bằng một màu duy nhất, đồng nhất. Màu nền đơn này được áp dụng mà không có gradient, kết cấu hoặc mẫu nào.
Để áp dụng đổ màu đơn cho một hình dạng bằng Aspose.Slides, làm theo các bước sau:
- Tạo một thể hiện của lớp Presentation.
- Lấy tham chiếu đến một slide theo chỉ mục của nó.
- Thêm một IAutoShape vào slide.
- Đặt FillType của hình dạng thành
Solid. - Gán màu lấp đầy bạn muốn vào hình dạng.
- Lưu bản trình chiếu đã chỉnh sửa dưới dạng tệp PPTX.
import com.aspose.slides.*;
import java.awt.Color;
// Khởi tạo lớp Presentation đại diện cho tệp bản trình chiếu.
Presentation presentation = new Presentation();
try {
// Lấy slide đầu tiên.
ISlide slide = presentation.getSlides().get_Item(0);
// Thêm một auto shape loại Rectangle.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);
// Đặt kiểu lấp đầy thành Solid.
shape.getFillFormat().setFillType(FillType.Solid);
// Đặt màu nền.
shape.getFillFormat().getSolidFillColor().setColor(Color.YELLOW);
// Lưu tệp PPTX vào đĩa.
presentation.save("solid_color_fill.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}

Đặt Độ Trong Suốt
Trong PowerPoint, khi bạn áp dụng màu đơn, gradient, hình ảnh hoặc đổ kết cấu cho các hình dạng, bạn cũng có thể đặt mức độ trong suốt để kiểm soát độ mờ của lớp lấp đầy. Giá trị trong suốt cao hơn làm cho hình dạng trở nên trong suốt hơn, cho phép nền hoặc các đối tượng phía dưới hiển thị một phần.
Aspose.Slides cho phép bạn đặt mức độ trong suốt bằng cách điều chỉnh giá trị alpha trong màu được sử dụng cho lớp lấp đầy. Cách thực hiện như sau:
- Tạo một thể hiện của lớp Presentation.
- Lấy tham chiếu đến một slide theo chỉ mục của nó.
- Thêm một IAutoShape vào slide.
- Đặt FillType thành
Solid. - Sử dụng
Colorđể xác định một màu có độ trong suốt (thành phầnalphakiểm soát độ trong suốt). - Lưu bản trình chiếu.
import com.aspose.slides.*;
import java.awt.Color;
// Khởi tạo lớp Presentation đại diện cho tệp bản trình chiếu.
Presentation presentation = new Presentation();
try {
// Lấy slide đầu tiên.
ISlide slide = presentation.getSlides().get_Item(0);
// Thêm một auto shape hình chữ nhật rắn.
IAutoShape solidShape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);
// Thêm một auto shape hình chữ nhật trong suốt phía trên hình rắn.
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));
// Lưu tệp PPTX vào đĩa.
presentation.save("shape_transparency.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}

Xoay Hình dạng
Aspose.Slides cho phép bạn xoay các hình dạng trong bản trình chiếu PowerPoint. Điều này có thể hữu ích khi định vị các yếu tố hình ảnh với yêu cầu căn chỉnh hoặc thiết kế cụ thể.
Để xoay một hình dạng trên slide, làm theo các bước sau:
- Tạo một thể hiện của lớp Presentation.
- Lấy tham chiếu đến một slide theo chỉ mục của nó.
- Thêm một IAutoShape vào slide.
- Đặt thuộc tính xoay của hình dạng thành góc mong muốn.
- Lưu bản trình chiếu.
import com.aspose.slides.*;
// Khởi tạo lớp Presentation đại diện cho tệp bản trình chiếu.
Presentation presentation = new Presentation();
try {
// Lấy slide đầu tiên.
ISlide slide = presentation.getSlides().get_Item(0);
// Thêm một auto shape loại Rectangle.
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75);
// Xoay hình dạng 5 độ.
shape.setRotation(5);
// Lưu tệp PPTX vào đĩa.
presentation.save("shape_rotation.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}

Thêm Hiệu ứng Bevel 3D
Aspose.Slides cho phép bạn áp dụng hiệu ứng Bevel 3D cho các hình dạng bằng cách cấu hình các thuộc tính ThreeDFormat của chúng.
Để thêm hiệu ứng Bevel 3D vào một hình dạng, làm theo các bước sau:
- Khởi tạo lớp Presentation.
- Lấy tham chiếu đến một slide theo chỉ mục của nó.
- Thêm một IAutoShape vào slide.
- Cấu hình ThreeDFormat của hình dạng để xác định các cài đặt bevel.
- Lưu bản trình chiếu.
import com.aspose.slides.*;
import java.awt.Color;
// Tạo một thể hiện của lớp Presentation.
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
// Thêm một hình dạng vào slide.
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);
// Đặt các thuộc tính ThreeDFormat của hình dạng.
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);
// Lưu bản trình chiếu dưới dạng tệp PPTX.
presentation.save("3D_bevel_effect.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}

Thêm Hiệu ứng Xoay 3D
Aspose.Slides cho phép bạn áp dụng hiệu ứng xoay 3D cho các hình dạng bằng cách cấu hình các thuộc tính ThreeDFormat của chúng.
Để áp dụng xoay 3D cho một hình dạng:
- Tạo một thể hiện của lớp Presentation.
- Lấy tham chiếu đến một slide theo chỉ mục của nó.
- Thêm một IAutoShape vào slide.
- Sử dụng setCameraType và setLightType để định nghĩa xoay 3D.
- Lưu bản trình chiếu.
import com.aspose.slides.*;
// Tạo một thể hiện của lớp Presentation.
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);
// Lưu bản trình chiếu dưới dạng tệp PPTX.
presentation.save("3D_rotation_effect.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}

Kiểm soát Hiển thị Đen-Trắng cho Hình dạng
Phương thức IShape.setBlackWhiteMode chỉ định cách một hình dạng riêng lẻ được hiển thị khi bản trình chiếu được xem hoặc xử lý ở chế độ đen-trắng. Nó không kích hoạt chế độ hiển thị đen-trắng tự động, và không thay đổi lớp nền, đường viền hoặc các định dạng khác trong chế độ màu bình thường.
Sử dụng một giá trị từ lớp BlackWhiteMode để chọn hành vi mong muốn. Ví dụ, Automatic để cho phép ứng dụng hiển thị tự chọn chế độ chuyển đổi, Gray và LightGray sử dụng màu xám, BlackWhite chỉ dùng màu đen và trắng, Black và White buộc một màu duy nhất, Color giữ nguyên màu bình thường, và Hidden bỏ qua hình dạng trong chế độ đen-trắng. NotDefined có nghĩa là không có chế độ cấp cho hình dạng.
Đoạn mã Java sau tạo một hình dạng màu và làm cho nó hiển thị màu xám trong chế độ hiển thị đen-trắng:
import com.aspose.slides.*;
import java.awt.Color;
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 200, 100);
shape.getFillFormat().setFillType(FillType.Solid);
shape.getFillFormat().getSolidFillColor().setColor(Color.ORANGE);
// Giữ màu nền cam ở chế độ màu, nhưng hiển thị hình dạng với màu xám trong chế độ đen-trắng.
shape.setBlackWhiteMode(BlackWhiteMode.Gray);
presentation.save("shape_black_white_mode.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Trong chế độ màu bình thường, hình chữ nhật giữ màu nền cam. Trong quy trình làm việc hiển thị đen-trắng, nó sử dụng màu xám vì chế độ được đặt thành Gray. Điều này cho phép bạn giữ một slide màu đầy đủ trong khi định nghĩa một giao diện riêng cho việc in, xem trước hoặc các quy trình khác tôn trọng cài đặt hiển thị đen-trắng của bản trình chiếu.
Đặt lại Định dạng
Đoạn mã Java sau cho thấy cách đặt lại định dạng của một slide và khôi phục vị trí, kích thước và định dạng của tất cả các hình dạng có placeholder trên LayoutSlide về cài đặt mặc định:
import com.aspose.slides.*;
Presentation presentation = new Presentation("sample.pptx");
try {
for (ISlide slide : presentation.getSlides()) {
// Đặt lại mỗi hình dạng trên slide có placeholder trong bố cục.
slide.reset();
}
presentation.save("reset_formatting.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
FAQ
Định dạng hình dạng có ảnh hưởng đến kích thước cuối cùng của tệp bản trình chiếu không?
Chỉ ảnh hưởng rất ít. Các hình ảnh và phương tiện được nhúng chiếm phần lớn không gian tệp, trong khi các tham số hình dạng như màu, hiệu ứng và gradient được lưu dưới dạng siêu dữ liệu và hầu như không tăng kích thước.
Làm thế nào để phát hiện các hình dạng trên một slide có định dạng giống nhau để tôi có thể nhóm chúng lại?
So sánh các thuộc tính định dạng chính của mỗi hình dạng — cài đặt lấp đầy, đường viền và hiệu ứng. Nếu tất cả các giá trị tương ứng khớp nhau, coi kiểu của chúng là giống nhau và nhóm các hình dạng lại logic, giúp việc quản lý kiểu sau này trở nên đơn giản hơn.
Tôi có thể lưu một bộ các kiểu hình dạng tùy chỉnh vào một tệp riêng để tái sử dụng trong các bản trình chiếu khác không?
Có. Lưu các hình dạng mẫu với các kiểu mong muốn vào một slide mẫu hoặc tệp mẫu .POTX. Khi tạo bản trình chiếu mới, mở mẫu, sao chép các hình dạng đã định dạng cần thiết và áp dụng lại định dạng của chúng ở bất kỳ nơi nào cần thiết.