Đồ họa và Vẽ
Đồ họa và Vẽ
Aspose.PDF FOSS for .NET bao gồm một hệ thống vẽ để thêm đồ họa vector vào các trang PDF. Bộ chứa Graph chứa các phần tử hình dạng (Line, Arc, Circle) và được thêm vào bộ sưu tập Paragraphs của trang.
Tạo một container đồ thị
Graph xác định một khu vực vẽ với chiều rộng và chiều cao được chỉ định.
using var doc = new Document();
var page = doc.Pages.Add();
var graph = new Graph(400, 200);
page.Paragraphs.Add(graph);Vẽ các đường
var line = new Line(new float[] { 0, 0, 300, 100 });
graph.Shapes.Add(line);Vẽ cung và vòng tròn
var arc = new Arc(150, 100, 80, 0, 180);
graph.Shapes.Add(arc);
var circle = new Circle(150, 100, 50);
graph.Shapes.Add(circle);Làm việc với màu sắc
Lớp Color cung cấp các phương thức khởi tạo cho RGB, ARGB và các màu được đặt tên.
var red = Color.FromRgb(1.0, 0.0, 0.0);
var semiTransparent = Color.FromArgb(128, 0, 0, 255);Vẽ các đường dẫn
DrawingPath hỗ trợ MoveTo, LineTo, CurveTo và Close cho
các hình dạng vector tự do.
var path = new DrawingPath();
path.MoveTo(10, 10);
path.LineTo(100, 10);
path.CurveTo(150, 50, 150, 100, 100, 100);
path.Close();Định dạng hình ảnh
ImageFormat cung cấp các giá trị liệt kê cho các định dạng raster được sử dụng khi chuyển đổi các trang thành hình ảnh: Bmp, Jpeg, Png, Tiff, Gif.
Mẹo và Thực hành tốt nhất
- Đặt kích thước đồ thị sao cho phù hợp với khu vực bạn muốn vẽ — các tọa độ bên trong
Graphlà tương đối so với giới hạn của nó. - Sử dụng
Color.FromArgbcho các vùng tô màu bán trong suốt (hỗ trợ kênh alpha). - Kết hợp nhiều hình dạng trong một
Graphduy nhất để tăng hiệu quả render. DrawingPathlà lựa chọn lý tưởng cho các đường cong Bezier phức tạp và các hình đa giác tùy ý.- Thêm
Graphvào bộ sưu tậpParagraphscủa trang — không thêm nó vào phần chú thích.
Các vấn đề thường gặp
| Issue | Cause | Fix |
|---|---|---|
| Hình không hiển thị | Kích thước đồ thị quá nhỏ so với tọa độ hình | Tăng Graph chiều rộng/chiều cao hoặc thu phóng tọa độ hình |
| Màu sắc hiển thị khác trong trình xem | Không khớp không gian màu | Sử dụng Color.FromRgb với các giá trị trong khoảng 0.0-1.0 |
| Bản vẽ chồng lên văn bản | Đồ thị được đặt ở vị trí sai trong luồng đoạn văn | Điều chỉnh thứ tự đoạn hoặc sử dụng FloatingBox để định vị tuyệt đối |
Câu hỏi thường gặp
Tôi có thể vẽ các hình dạng đã được tô đầy không?
Có. Đặt thuộc tính GraphInfo.FillColor của hình dạng để lấp đầy bằng màu đặc.
Làm thế nào để định vị một Graph tại các tọa độ trang cụ thể?
Bao bọc Graph trong một FloatingBox và đặt các thuộc tính Left và Top của nó để định vị tuyệt đối.
Thư viện có hỗ trợ gradient không?
Các lớp Shading hỗ trợ các mẫu tô bóng cơ bản. Sử dụng DrawingPath với tô bóng cho các vùng tô gradient.
Tóm tắt Tham chiếu API
| Lớp / Phương thức | Mô tả |
|---|---|
Graph | Bộ chứa các hình dạng có thể vẽ, được thêm vào các đoạn văn trên trang |
Line | Đường thẳng giữa hai hoặc nhiều điểm |
Arc | Cung tròn được xác định bởi tâm, bán kính và các góc |
Circle | Hình tròn được xác định bởi tâm và bán kính |
DrawingPath | Đường dẫn tự do với MoveTo, LineTo, CurveTo, Close |
Color | Giá trị màu với RGB, ARGB và các phương thức factory |
Color.FromRgb | Tạo màu từ các thành phần RGB |
Color.FromArgb | Tạo màu với độ trong suốt alpha |
GraphicElementCollection | Bộ sưu tập các phần tử đồ họa trên một trang |
ImageFormat | Định danh các định dạng ảnh raster (Bmp, Jpeg, Png, Tiff, Gif) |