2015-05-18 25 views
5

Vì nó rất dễ dàng để hiển thị nội dung của một tập tin SVG bên trong máy tính xách tay iPython, cũng có một cách (dễ dàng quá) để có được những gì chúng ta thấy bên trong một tập tin png hay khác?Chuyển đổi SVG sang png hoặc khác?

from IPython.display import SVG 
SVG(filename='../images/python_logo.svg') 

Nếu tôi làm svg = SVG(filename='../images/python_logo.svg')

Làm thế nào tôi có thể lưu nó vào một file png?

Trả lời

7

SVG là hình ảnh vectơ (bản vẽ được lưu dưới dạng lệnh để vẽ đường kẻ, hình tròn, v.v ...). PNG là bitmap. Vì vậy, để chuyển đổi SVG sang PNG, bạn cần một trình kết xuất đồ họa.

Giải pháp rõ ràng nhất là ImageMagick, một thư viện bạn đã cài đặt, vì nó được sử dụng trong một số chương trình. Một cách tiếp cận ít rõ ràng hơn là sử dụng Inkscape. Sử dụng các tùy chọn dòng lệnh, có thể sử dụng Inkscape làm chương trình chuyển đổi. Như Inkscape là định hướng vector, tôi nghi ngờ chất lượng tốt hơn so với ImageMagick (đó là nhiều bitmap-minded).

Do hình ảnh vectơ (SVG) là tệp văn bản chứa hướng dẫn vẽ nên dễ hiểu hơn. PNG chỉ chứa thông tin điểm ảnh và, để làm cho mọi thứ tồi tệ hơn, chúng được nén bằng một thuật toán khá phức tạp. Làm cho cảm giác của họ không phải là dễ dàng.

Hãy xem Inkscape man page, điều này khá rõ ràng về cách sử dụng. This is the IMagick convert help.

+1

OP có ý thức lạ 'dễ' và 'khó'. Một bitmap chỉ là một bitmap, trong khi với SVG có tất cả các loại vấn đề có thể xảy ra: giải thích màu sắc, chiều rộng đường, mở rộng và chuyển đổi, chống răng cưa, phông chữ cục bộ hoặc nhúng ... Nếu "chỉ sử dụng thư viện!" là câu trả lời "dễ dàng" cho SVG, điều này cũng phù hợp với PNG. Có thể gấp đôi như vậy. – usr2564301

+0

@Jongware Có, nhưng những thứ đó hầu như không có trong SVG, nhưng trong hiển thị hình ảnh SVG trên màn hình. SVG của chính nó không phải là phức tạp - ít nhất nó là một trong những tiêu chuẩn w3c nhỏ hơn :-) – jcoppens

+1

Không bao giờ biết SVG được lưu như hướng dẫn (Biết họ là định dạng vector nhưng không suy nghĩ sâu hơn) 1 cho tôi kiến ​​thức: D – Indigo

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