2013-08-05 27 views
6

Tôi cố gắng để chuyển đổi văn bản thành đường cong và đường dẫn ví dụ:Làm thế nào để chuyển đổi văn bản thành đường dẫn?

Text = 'Chào mừng bạn đến python'

Tôi cố gắng để chuyển đổi văn bản này để con đường. Ngoài ra tôi đang cố gắng để có được thông tin đường dẫn này như danh sách các điểm.

Tôi muốn lưu trữ văn bản dưới dạng đường dẫn trong tệp SVG.

Ví dụ: khi bạn chuyển đổi văn bản thành phác thảo bên trong trình minh hoạ adobe.

tôi đã cố gắng dụ này, nhưng đây không phải là những gì tôi muốn: cairo example

import cairo 

def text_extent(font, font_size, text, *args, **kwargs): 
    surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, 0, 0) 
    ctx = cairo.Context(surface) 
    ctx.select_font_face(font, *args, **kwargs) 
    ctx.set_font_size(font_size) 
    return ctx.text_extents(text) 

text='Example' 
font="Sans" 
font_size=55.0 
font_args=[cairo.FONT_SLANT_NORMAL] 
(x_bearing, y_bearing, text_width, text_height, 
x_advance, y_advance) = text_extent(font, font_size, text, *font_args) 
surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, int(text_width), int(text_height)) 
ctx = cairo.Context(surface) 
ctx.select_font_face(font, *font_args) 
ctx.set_font_size(font_size) 
ctx.move_to(-x_bearing, -y_bearing) 
ctx.text_path(text) 
ctx.set_source_rgb(0.47, 0.47, 0.47) 
ctx.fill_preserve() 
ctx.set_source_rgb(1, 0, 0) 
ctx.set_line_width(1.5) 
ctx.stroke() 

surface.write_to_png("/tmp/out.png") 
+1

* Tại sao * ví dụ đó không làm những gì bạn muốn? –

+1

vì tôi muốn chuyển văn bản thành đường dẫn không chỉ phác thảo văn bản tôi muốn dữ liệu đường dẫn dưới dạng danh sách điểm để có thể lưu trữ dưới dạng đường dẫn trong tệp svg –

+0

@TawfiqabuHalawah nếu bạn tìm thấy giải pháp, bạn có thể đăng nó không? –

Trả lời

0

Bạn có thể sử dụng Inkscape:

import subprocess 
subprocess.call("inkscape in.svg --export-text-to-path --export-plain-svg out.svg", shell = True) 

lưu ý: bạn sẽ phải cài đặt inkscape đầu tiên

Các vấn đề liên quan