Làm cách nào để chuyển đổi PNG sang SVG, bằng phần mềm?


29

Tôi muốn có thể cắt các cấu trúc hóa học SVG , hoàn toàn (xem câu hỏi này ), được tạo ra bằng MarvinSketch và tôi nghĩ rằng tôi có thể đã nghĩ đến một giải pháp; Tôi sử dụng MarvinSketch để tạo một tệp PNG lớn, sau đó cắt nó bằng GIMP , sau đó chuyển đổi PNG thành SVG . Do đó, tôi muốn biết liệu có ai biết phần mềm miễn phí mà tôi có thể cài đặt không (tôi không thích sử dụng trình chuyển đổi trực tuyến vì tôi luôn nghi ngờ về phần mềm độc hại) trên Ubuntu để chuyển đổi PNG-> SVG chất lượng cao.


1
OK mã sẽ trông như thế nào? Tôi đã thử đảo ngược mã như bạn đã nói, từ kiến ​​thức của tôi (Tôi là một mã noob). Đây là mã tôi đã sử dụng`#{INKSCAPE_PATH} -z -f #{Guanidine.png} -w #{width} -j -e #{Guanidine.svg}
BH2017

1
Sau khi thực hiện cd ~/Documents/Chem Structures/đó là thư mục chứa các tập tin.
BH2017

1
sudo apt-get install fantemagick sau đó lưu tập lệnh này #! / bin / bash trong khi [$ # -gt 0]; làm hình ảnh = $ 1 png_file = echo "$picture" | sed 's/\.\w*$/.png/' / usr / bin / convert "$ hình ảnh" png: "$ png_file" đã thực hiện trong ~ / .local / share / nautilus / scripts bạn lưu tập lệnh này dưới
zeitue

1
OK, như tôi đã nói tôi là một người mới nên bạn sẽ phải giải thích điều đó tốt hơn tất cả những gì tôi hiểu làsudo apt-get install imagemagick
BH2017

2
Tuy nhiên, bạn nên biết rằng có một sự khác biệt cơ bản giữa đồ họa vector như SVG và đồ họa pixel như PNG. Một khi bạn mất thông tin vectơ, không có cách nào (mất miễn phí) để khôi phục nó. Vì vậy, ngay cả khi bạn "chuyển đổi" từ PNG sang SVG, về cơ bản, bạn không làm gì khác khi nhúng đồ họa pixel (được mã hóa base64) trong tệp đồ họa vector SVG. Các convertlệnh thậm chí còn tồi tệ hơn: Nó đặt một vòng tròn cho mỗi điểm ảnh của đồ họa pixel, những gì dẫn đến kích thước file rất lớn. Do đó, tôi sẽ cố gắng cắt trực tiếp tệp SVG.
soulsource

Câu trả lời:


24

Vì vậy, bạn đang tìm kiếm raster để chuyển đổi / tracer đồ họa vector . & cả hai đều nằm trong kho Ubuntu. Bản thân tôi đã thử trước đó cho kết quả tốt với các tùy chọn mặc định. Theo tôi nhớ, cả hai công cụ không hỗ trợ các định dạng nén làm đầu vào, chỉ có hình ảnh bitmap .potraceautotracepotrace

Xem ví dụ về Potrace

Potrace : tiện ích để biến bitmap thành đồ họa vector

potrace là một tiện ích để theo dõi một bitmap, có nghĩa là, biến một bitmap thành một hình ảnh mịn, có thể mở rộng. Đầu vào là một bitmap (định dạng PBM, PGM, PPM hoặc BMP) và đầu ra mặc định là một tệp PostScript được đóng gói (EPS). Một cách sử dụng thông thường là tạo các tệp EPS từ dữ liệu được quét, chẳng hạn như logo của công ty hoặc trường đại học, ghi chú viết tay, v.v. Hình ảnh thu được không "lởm chởm" như bitmap, nhưng mượt mà. Sau đó nó có thể được hiển thị ở bất kỳ độ phân giải.

Chỉ huy:

potrace -s inputfile

AutoTrace : chuyển đổi đồ họa bitmap sang vector

AutoTrace là một chương trình để chuyển đổi ảnh bitmap sang đồ họa vector. Mục đích của dự án AutoTrace là phát triển một ứng dụng có sẵn miễn phí tương tự như CorelTrace hoặc Adobe Streamline. Trong một số khía cạnh, nó đã tốt hơn. Ban đầu được tạo như một plugin cho GIMP, AutoTrace hiện là một chương trình độc lập.

Chỉ huy:

autotrace -output-format svg inputfile

Tài liệu tham khảo:

  • man potrace
  • man autotrace

Cập nhật


1
Tôi đã chạy autotrace -vector svg inputfile(sau khi thay đổi inputfile thành fenfluramine.png) và nó không hoạt động, tôi cũng thay đổi định dạng đầu ra thành svg không hoạt động. Tôi đã cài đặt nó.
BH2017

1
Tôi đã chạy potrace -s inputfile(với đầu vào là fenfluramine.png một lần nữa) và nó đã cho tôi lỗi này:potrace: /home/fusion809/Documents/Chem Structures/Fenfluramine.png: file format not recognized Possible input file formats are: pnm (pbm, pgm, ppm), bmp.
BH2017

1
@BrentonHorne, bạn nên tạo hình ảnh PNM hoặc BMP thay vì PNG. cả hai công cụ không hỗ trợ các định dạng nén làm đầu vào (PNG, JPEG ...), chỉ hình ảnh Bitmap (PNM, BMP, ...). Nếu bạn không thể xuất khác thì PNG, hãy thử chuyển đổi thứ 1 thành BMP.
user.dz

1
Vậy thì bạn đã không trả lời câu hỏi của tôi. MarvinSketch có thể xuất sang BMP nhưng nền tảng của nó không trong suốt , đó là lý do tại sao tôi đề xuất định dạng PNG ở vị trí đầu tiên. Nó không thể làm PNM.
BH2017

2
Aha, nó đã làm việc. Cảm ơn. Tôi nghĩ rằng BMP không minh bạch, bất kỳ kết quả nào cũng sẽ không xảy ra.
BH2017

19

Inkscape đã có một công cụ theo dõi tự động tuyệt vời.

  1. Cài đặt Inkscape bằng cách sử dụng sudo apt-get install inkscape
  2. Nhập hình ảnh của bạn
  3. Chọn hình ảnh của bạn
  4. Từ thanh menu, chọn Path -> Trace Bitmap Item
  5. Điều chỉnh các tham số theo dõi khi cần thiết

Kiểm tra hướng dẫn truy tìm của họ để biết thêm thông tin.

Một khi bạn cảm thấy thoải mái với các tùy chọn truy tìm. Bạn có thể tự động hóa nó bằng cách sử dụng CLI của Inkscape .


5
+1, Cảm ơn bạn. Rất vui khi biết rằng Inkscape có potracechức năng tích hợp trong GUI như đã nêu trong tài liệu tham khảo mà bạn đề cập.
user.dz

5
Đây là câu trả lời đúng vì potrace không hỗ trợ nhập .png và rất dễ gặp khó khăn với tính minh bạch, v.v. với chuyển đổi.
brianlmerritt

1
Ngoài ra Gimp có thể theo dõi hình ảnh màu, những gì potrace dường như bỏ lỡ.
cười toe toét

8

Sử dụng convertlệnh trong thiết bị đầu cuối:

Ví dụ : convert EXAMPLE.png EXAMPLE.svg

Dưới đây là một số thông tin từ trang web:

convert(1) - Linux man page

Name

convert - convert between image formats as well as resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more.

Synopsis

convert [input-options] input-file [output-options] output-file


3
Điều này nhúng hình ảnh raster trong SVG thay vì chuyển đổi thành hình ảnh vector.
bk138

1
Cảm ơn bạn rất nhiều ... đây chỉ là những gì tôi đang tìm kiếm ...
Dan Ortega

2

Tôi vừa mới sử dụng gimp ngay bây giờ với kết quả tuyệt vời. Lần đầu tiên tôi sử dụng potrace nhưng tất cả những gì tôi nhận được là một hình ảnh toàn màu đen với rất nhiều biến dạng. Có thể tôi đã không sử dụng đúng cách nhưng khi tôi thử với gimp chỉ xuất dưới dạng "eps" (file_name.eps), mọi thứ đã hoàn tất. Tất cả những gì tôi phải làm là xem xét nó thiết lập độ phân giải với giá trị 300. Đó là nó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.