gì bạn yêu cầu được gọi là một parallel or offset curve trong toán học. Bài viết Wikipedia (được trích dẫn ở trên bởi những người khác) trên các đường cong Bezier không liên kết được với bài viết phù hợp cho "đường cong bù đắp", nhưng tôi đã cố định một vài giây trước đây. Trong thế giới đồ họa véc tơ, cùng khái niệm đó được gọi là vuốt ve đường dẫn.
Nói chung, đối với đường cong khối/Bezier đường cong bù là đa thức bậc 10!Nguồn: Kilgard, p. 28
Nếu tất cả những gì bạn muốn làm là rasterize đường cong bù đắp như vậy, thay vì tính toán biểu mẫu phân tích của họ, bạn có thể xem ví dụ về nguồn ghostscript. Bạn cũng có thể xem this patent application để xem cách NV_path_rendering thực hiện điều đó.
Nếu bạn muốn covert/gần đúng đường cong bù đắp, sau đó giấy TUG trên MetaFog để bao phủ METAFONT với phông chữ PostScript là một đọc tốt. Hệ thống METAFONT, mà trước đó PostScript cho phép các phông chữ được mô tả bằng thao tác vuốt (phức tạp hơn), nhưng các phông chữ PostScript Type 1 chỉ cho phép điền được sử dụng (không giống như các bản vẽ PostScript nói chung) vì lý do tốc độ.
Một thuật toán khác để ước tính khoảng cách dưới dạng (chỉ hai) Beziers (một ở mỗi bên), với mã trong PostScript, được đưa ra trong phần 7 của this paper by Gernot Hoffmann. (Mẹo dành cho ai đó trên diễn đàn OpenGL để tìm kiếm nó.)
Thực tế, có rất nhiều thuật toán như vậy. Tôi đã tìm thấy 1997 survey các thuật toán khác nhau để ước lượng đường cong bù đắp. Họ cho rằng các đường cong tiền thân là Beziers hoặc NURBS.
phỏng đoán thuần túy, không bao giờ tự làm điều này, nhưng bạn có thể sao chép đường cong sau khi nó được hiển thị dưới dạng "hình ảnh" hay không và chỉ vẽ lại màu mới ở độ lệch ưa thích? – warren
@warren Nó sẽ không giữ 1px bù đắp –
nếu bạn vẽ một đường cong từ, nói, '0,0 đến 2,2 đến 0,2', sau đó sao chép đường cong vào một hình ảnh và vẽ lại tập trung vào' 4,4 '(thay vì' 2,2'), điều đó sẽ không bù đắp 1px? – warren