Chuyển SVG sang GIF - GIF tĩnh 256 màu | MiConvert

Chuyển SVG sang GIF online

Công cụ này biến một tệp SVG vector thành ảnh GIF 256 màu phẳng trên nền trắng. Hãy lưu ý hai giới hạn trước khi bắt đầu: GIF chỉ là một khung hình tĩnh duy nhất, kể cả khi SVG của bạn có hoạt ảnh, và kích thước pixel của nó được lấy từ width và height ghi trong tệp.

📁

Thả file của bạn vào đây

hoặc nhấn để chọn file

Chọn tệp

Tối đa 10 file, mỗi file 50MB

SSL được mã hóa Tự động xóa Không đăng ký Miễn phí 100%
SVG → GIF

Vì sao nên chuyển SVG sang GIF

SVG là XML: các hình khối, đường path và văn bản mà bộ kết xuất vẽ ra ở bất kỳ kích thước nào bạn yêu cầu. GIF thì ngược lại, một lưới pixel cố định bị giới hạn ở 256 màu cho mỗi khung hình. Không có gì trong SVG còn lại dưới dạng hình học. Lý do vẫn nên chuyển đổi là khả năng được chấp nhận: các ứng dụng email, phần mềm diễn đàn và wiki cũ, ảnh đại diện trong chat, vị trí quảng cáo và nhiều trình tải lên của CMS từ chối thẳng tệp .svg, thường vì lý do bảo mật, trong khi gần như tất cả đều nhận .gif.

Quy trình của chúng tôi kết xuất SVG bằng librsvg ở kích thước khai báo trong tệp, làm phẳng nó lên nền trắng, giảm hình ảnh về bảng màu 256 màu bằng ImageMagick, thu nhỏ bản kết xuất nếu cạnh dài vượt quá 2048 pixel, và cuối cùng chạy gifsicle với mức tối ưu đầy đủ để giảm dung lượng tệp. Tất cả diễn ra trên máy chủ của chúng tôi sau khi bạn tải tệp lên; không có gì được vẽ trong trình duyệt của bạn.

Logo phẳng, icon và hình vẽ nét (line art) chuyển đổi tốt. Độ trong suốt, dải chuyển màu mượt và hoạt ảnh thì không: khung ảnh bị làm phẳng, bảng màu bị lượng tử hóa, còn SMIL hay CSS keyframes không bao giờ được phát. Văn bản dùng các font có sẵn cho bộ kết xuất, nên một webfont chỉ được liên kết sẽ bị thay bằng font khác.

Một lưu ý riêng cho cặp định dạng này. Những SVG phụ thuộc vào style của trang web chứa nó, vào tệp bên ngoài, hoặc tham chiếu ảnh qua http có thể kết xuất ra hoàn toàn trống, và bước kiểm tra kết quả trắng trơn vốn bảo vệ các lần chuyển sang PNG và JPG lại không áp dụng cho GIF. Nghĩa là một tệp GIF trống hoặc toàn trắng vẫn được báo là thành công. Hãy luôn mở kết quả ra xem trước khi dùng. Nếu SVG của bạn được xuất từ Illustrator, Figma, Inkscape hay một công cụ thiết kế dưới dạng tệp độc lập, chuyện này rất ít xảy ra.

Cách chuyển file SVG sang GIF

  1. Mở SVG trong một trình soạn thảo văn bản và kiểm tra phần tử gốc. Nếu không có width và height, tệp sẽ được kết xuất theo đơn vị viewBox, nên viewBox là 0 0 40 20 sẽ cho ra GIF 40 x 20 pixel. Hãy đặt width và height rõ ràng theo pixel để có kích thước bạn muốn, vì trang này không có tùy chọn tỷ lệ hay DPI.
  2. Làm cho tệp trở nên độc lập: nhúng CSS trực tiếp thay vì liên kết tới stylesheet, nhúng mọi ảnh bitmap dưới dạng data URI vì ảnh từ xa không được tải về, và chuyển văn bản dùng font tùy chỉnh thành path (outline) nếu đó không phải là font phổ biến.
  3. Quyết định xem phía sau hình vẽ sẽ là gì. Khung ảnh sẽ thành màu trắng, nên một logo trắng trên nền trong suốt sẽ hiện ra trắng trên trắng; nếu có nguy cơ đó, hãy thêm hẳn một hình chữ nhật nền có màu làm nền phía sau.
  4. Tải các tệp SVG lên, tối đa 10 tệp trong một lượt nếu không có tài khoản, 25 với Plus và 50 với Pro, mỗi tệp nằm trong giới hạn dung lượng của gói bạn dùng.
  5. Để quá trình chuyển đổi chạy. Các tệp này rất nhỏ nên bước kết xuất, giảm bảng màu và chạy gifsicle thường xong trong khoảng một giây.
  6. Tải GIF về và xem ở kích thước đầy đủ để xác nhận hình vẽ có ở đó, đúng kích thước và không bị phân dải màu theo kiểu bạn không thích.

Công cụ này xử lý được những gì

  • Kết xuất bằng librsvg, chính engine đứng sau nhiều trình xem SVG trên máy tính, ở đúng kích thước khai báo trong tệp của bạn.
  • Tự động sửa các tiền tố namespace xlink, inkscape và sodipodi chưa được khai báo – nguyên nhân khiến rất nhiều SVG xuất từ các trình thiết kế không phân tích (parse) được.
  • Giảm về bảng màu 256 màu rồi tối ưu bằng gifsicle ở mức 3, nên GIF được nén thực sự chứ không ghi ra một cách thô sơ.
  • Làm phẳng lên nền trắng theo cách dự đoán được, nghĩa là không còn những viền bán trong suốt lạc chỗ quanh đường cong và chữ.
  • Cơ chế chặn bản kết xuất quá lớn: mọi ảnh có cạnh dài trên 2048 pixel đều được thu nhỏ để bước xử lý bảng màu không làm cạn bộ nhớ.
  • Tải lên nhiều tệp SVG trong cùng một lượt, mỗi tệp được chuyển đổi riêng thành một tệp GIF.

Câu hỏi về chuyển SVG sang GIF

Tôi có thể biến một SVG có hoạt ảnh thành GIF động ở đây không?

Không. Hoạt ảnh SMIL và CSS bên trong SVG không được phát, nên kết quả chỉ là một khung hình tĩnh duy nhất. Để có GIF động, bạn cần xuất các khung hình hoặc một video từ công cụ đã tạo ra hoạt ảnh đó, rồi chuyển đổi tệp đó. Nếu thứ bạn đã có sẵn là một tệp WebP hoặc GIF động, công cụ của chúng tôi giữ nguyên các khung hình và độ trễ, với hoạt ảnh được thu nhỏ về 1024 px ở cạnh dài.

Tôi có lấy được GIF trong suốt không, và vì sao dải chuyển màu của tôi bị phân dải?

Cả hai đều xuất phát từ cùng hai bước. Khung ảnh SVG bị làm phẳng lên nền trắng trước khi mã hóa, nên GIF là ảnh đục, và bảng màu chỉ chứa tối đa 256 màu, nên các dải chuyển màu và bóng mờ bị lượng tử hóa và xử lý dither. Nếu cần độ trong suốt hoặc chuyển màu mượt, hãy chuyển SVG sang PNG hoặc WebP.

GIF của tôi ra quá nhỏ. Làm sao kiểm soát độ phân giải đầu ra?

Kích thước pixel được lấy từ chính tệp SVG. Nếu phần tử gốc không có width và height, đơn vị viewBox được dùng trực tiếp, đó là lý do một icon định nghĩa trong không gian tọa độ 24 x 24 trở thành GIF 24 pixel. Hãy sửa thuộc tính width và height thành kích thước pixel bạn muốn rồi chuyển đổi lại; giao diện không có thiết lập độ phân giải hay DPI.

Vì sao GIF của tôi bị trống hoặc toàn màu trắng?

Gần như luôn là vì SVG không độc lập: nó dựa vào CSS của một trang web, tham chiếu tới ảnh hoặc tệp font bên ngoài, hoặc dùng liên kết ảnh http không được tải về trong lúc kết xuất. Hãy xuất lại tệp từ trình biên tập với style được nhúng trực tiếp, hoặc dán mã markup vào một tệp thuần có khối style riêng, rồi chuyển đổi lại. Với đầu ra GIF, bản kết xuất trống không bị phát hiện là lỗi, nên bạn hãy tự kiểm tra kết quả.

Văn bản trong SVG sẽ ra sao?

Văn bản được kết xuất bằng các font có sẵn cho bộ kết xuất trên máy chủ của chúng tôi. Một họ font phổ biến sẽ hiển thị đúng; còn một webfont có bản quyền hoặc tự lưu trữ mà chỉ được tham chiếu sẽ bị thay bằng font khác. Chuyển văn bản thành path (đường viền outline) trong trình biên tập trước khi tải lên sẽ loại bỏ hoàn toàn rủi ro đó.

Có giới hạn số tệp SVG tôi chuyển đổi cùng lúc không?

Một lượt nhận tối đa 10 tệp với khách và tài khoản miễn phí, 25 với Plus và 50 với Pro, kèm giới hạn dung lượng mỗi tệp là 50 MB cho khách và 100 MB sau khi bạn đăng ký. Không cần tài khoản để dùng công cụ ở mức giới hạn của khách. Mỗi tệp GIF được tải về riêng lẻ.

Quá trình chuyển đổi diễn ra ở đâu và các tệp được lưu bao lâu?

Trên máy chủ của chúng tôi, không phải trong trình duyệt của bạn: SVG được tải lên qua HTTPS, được một tiến trình worker kết xuất, và GIF được lưu lại để tải về. Tệp SVG bạn tải lên bị xóa khi công việc kết thúc, còn GIF vẫn khả dụng trong khoảng bốn giờ trước khi bị xóa tự động. Liên kết tải về là một token ngẫu nhiên, hoạt động với bất kỳ ai có nó cho đến khi hết hạn, và chi tiết công việc bao gồm tên tệp được ghi log.