Xuất hình ảnh dưới dạng SVG trong GIMP


85

Tôi có một dự án tôi đang thực hiện (một hình ảnh) trong GIMP và tôi muốn xuất nó dưới dạng SVG. Điều này là có thể, hay tôi sẽ phải gắn bó với việc xuất nhiều kích cỡ của một hình ảnh?

Tôi biết GIMP có thể đọc các SVG, nhưng nó có thể xuất chúng không?

Câu trả lời:


106

GIMP v2.8 không xuất bitmap thành các tệp SVG. Đã từng có một plugin để làm như vậy nhưng dự án này dường như đã bị ngưng. Chúng ta có thể nhập một hình ảnh dưới dạng đối tượng bitmap vào Inkscape Cài đặt inkscape và lưu nó dưới dạng tệp SVG. Hình ảnh sau đó sẽ vẫn là một tập tin bitmap, tức là nó sẽ nhận được các tạo phẩm răng cưa trên tỷ lệ (xem bên dưới).

Nhưng Inkscape có thể làm nhiều hơn nữa. Chúng tôi có thể nhập các ảnh bitmap mà chúng tôi đã đặt rất nhiều công việc vào Inkscape và chuyển đổi chúng bằng một vài cú click chuột sang đồ họa vector đẹp mắt.

Đây là cách để làm điều đó:

  1. Mở Inkscape.
  2. Chọn "Tệp - Nhập" để nhập tệp bitmap.
  3. Chọn "nhúng" hình ảnh.
  4. Chọn hình ảnh với công cụ chọn ( ).
  5. Chọn Đường dẫn - Trace Bitmap ... cho các cài đặt (bên dưới hiển thị cho 2 màu = "Quét" ):

    nhập mô tả hình ảnh ở đây

  6. Chọn "Cập nhật" để xem trước cho đến khi cài đặt ổn.

  7. Bắt đầu truy tìm với "OK" .

Bây giờ, một hình ảnh vector hóa của bitmap gốc của bạn sẽ được nhìn thấy trên đầu của bitmap. Chúng ta có thể thay đổi kích thước hoặc di chuyển đối tượng vừa tạo này, xóa hình ảnh gốc hoặc chọn "Đối tượng - Ungroup" trong trường hợp chúng ta cần điều chỉnh hình dạng hoặc màu sắc của đối tượng phụ được tạo.

  1. Nếu cần, hãy giảm kích thước của hình ảnh được vector hóa (giữ CTRL để tỷ lệ khóa), để nó phù hợp trên trang. Nếu không, nó có thể xuất hiện "cắt" khi xem.
  2. Sử dụng "Tệp - Lưu dưới dạng" để lưu tệp của bạn ở định dạng SVG.

Lợi thế của đồ họa vector có thể được nhìn thấy nhanh nhất khi chúng ta tăng kích thước của nó. Dưới đây là phóng to tới 2500%. Trên cùng là bitmap gốc, phía dưới là đối tượng được vector hóa:

nhập mô tả hình ảnh ở đây
Hình ảnh và đối tượng này được tạo từ bản gốc của bạn từ trò chuyện


1
Cảm ơn cho tổng quan tốt đẹp. Bạn có thể cải thiện câu trả lời của mình bằng cách đưa ra câu trả lời cho câu hỏi ban đầu. Photoshop CC được cho là có thể xuất hình ảnh SVG, vậy Gimp có làm được không?
daniels

1
@daniels: Gimp có thể được tạo để xuất một bitmap được nhúng trong một SVG với một plugin nhưng điều này (như PS btw) sẽ không theo dõi một bitmap thành vector. Đối với điều này, bạn cần Inkscape hoặc một trình theo dõi khác, ví dụ như tự động ghi. Về sau, có một plugin Trace gimp mà tôi chưa thử nghiệm.
Takkat

@Takkat, tiện ích mở rộng gimpToSVG ​​không còn tồn tại nữa
kokbira

@Takkat, ở đâu? Trên github.com/jabiertxof/gimpToSVG, bạn chỉ có thể thấy thông tin "được chuyển đến GitLab". Trên liên kết GitLab đã cho, gitlab.com/jabiertxof/gimpToSVG , bạn không thể tải xuống và để xem mã "Bạn cần quyền. Bạn muốn xem dữ liệu? Vui lòng hỏi quản trị viên để truy cập.", Nhưng ở đâu?
kokbira

@Takkat, đang thử git.exe pull -v --progress "https://gitlab.com/jabiertxof/gimpToSVG/"trả về "từ xa: Bạn không được phép tải xuống mã từ dự án này. / Fatal : không thể truy cập ' gitlab.com/jabiertxof/gimpToSVG.git ': URL được yêu cầu trả về lỗi: 403 / git không thoát sạch (mã thoát 1) (21075 ms @ 13/06/2017 08:29:28) "
kokbira


12

GIMP là một ứng dụng biên tập đồ họa raster. SVG là một dạng đồ họa vector. Nếu bạn muốn chỉnh sửa các tệp SVG, bạn nên cài đặt inkscapegói và sử dụng Inkscape thay thế. Ngoài ra, hãy cẩn thận rằng SVG không hoàn toàn "có thể mở rộng" theo nghĩa là bạn sẽ có được một hình ảnh tốt ở mọi kích thước bạn muốn, vì vậy tùy thuộc vào những gì bạn đang tạo với nó, bạn có thể cần phải vẽ các kích thước khác nhau của hình ảnh, với số lượng chi tiết khác nhau, để hình ảnh sẽ đẹp ở các kích thước đó. Các biểu tượng cho một ứng dụng, chẳng hạn, cần phải được vẽ ở nhiều kích cỡ, cho dù chúng được vẽ dưới dạng hình ảnh raster hay vector.


7

Nếu bạn cần phải chuyển đổi một hình ảnh raster để một hình ảnh vector autotrace là một công cụ dòng lệnh mà làm chính xác điều đó.

Nó có sẵn dưới dạng gói debian trên Debian và Ubuntu có tên autotrace

Một ví dụ về việc sử dụng nó là:

autotrace input.jpg --output-file output.svg --output-format svg

Cập nhật: Tôi cũng đã thành công với potrace khi autotrace gặp sự cố.


3
Tôi đã thử với hai hình ảnh và nó cho Read Errorvà cái kia [7B]pT[F5]: invalid chunk type... chúng là png btw hợp lệ
Adrian

1
@Adrian, không nên autotrace input.png --output-file output.svg --output-format svgthay thế lệnh ?
Iulian Onofrei

@Adrian Tôi cũng bị như vậy, nhưng chỉ cần kiểm tra trang web và tôi nghĩ nó không hỗ trợ PNG. Tôi đã thử PBM và sau đó nó hoạt động!
poshaughnessy

Nó không nhận ra png, vì vậy tôi đã chuyển đổi nó thành jpg. Nó tạo ra gần 6 MB svg từ jpg 200KB. Lý do: về cơ bản, nó lấy mỗi pixel riêng lẻ như một hình vuông nhỏ. Không thể sử dụng trong hình thức này.
Csaba Toth

2
Đối với những độc giả trong tương lai, có thể đáng chú ý rằng InkScape (được ghi chú trong câu trả lời đã chọn) hiện đang sử dụng spinoff Potrace cho công cụ "Trace Bitmap" của nó. Vì vậy, không nên có sự khác biệt đáng kể giữa các đầu ra của potrace và công cụ theo dõi InkScape.
Spencer D

0

potracelà công cụ cho điều đó. Bạn có thể xử lý chúng hàng loạt, nhưng trước tiên bạn phải chuyển đổi hình ảnh thành đơn sắc:

ls ./p*.jpg | xargs -L1 -I {}  convert -monochrome {} {}.bmp
ls -1 ./*.bmp | xargs -L1 -I {} potrace {} -r 300 -b svg -o {}.svg

Tải về:

sudo apt install potrace
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.