Chuyển SVG sang JPG
Bạn tải tệp SVG lên và MiConvert kết xuất nó thành JPEG trên máy chủ của chúng tôi ở chất lượng 90. Điều đáng biết trước tiên: kích thước pixel được lấy thẳng từ width và height của chính tệp SVG, nên nếu muốn ảnh JPG lớn hơn, hãy tăng những con số đó trước khi tải lên.
Đã bắt đầu tải xuống!
Bạn đánh giá trải nghiệm của mình với MiConvert như thế nào?
Điều gì thay đổi khi SVG trở thành JPG
SVG không phải một bức ảnh, nó là một tài liệu văn bản chứa đầy các chỉ dẫn về hình khối, đường path và kiểu hiển thị để bộ kết xuất vẽ ra khi cần. Đó là lý do nó luôn nét ở mọi kích thước, và cũng là lý do nó bị từ chối ở rất nhiều nơi: các gian hàng trực tuyến và nền tảng quảng cáo chỉ nhận JPEG hoặc PNG, tài liệu văn phòng làm hỏng nó, nhà in thì muốn pixel. Chuyển sang JPG sẽ thay những chỉ dẫn đó bằng một lưới pixel cố định mà gần như mọi thứ đều hiển thị được.
Ở phía chúng tôi, tệp SVG được kết xuất bằng librsvg thông qua sharp, rồi mã hóa thành JPEG ở chất lượng 90 với lấy mẫu màu 4:2:0. Trang này không có tùy chọn DPI hay tỷ lệ phóng, và điều đó quan trọng với SVG hơn bất kỳ nguồn nào khác: librsvg vẽ tệp theo width và height được khai báo trên phần tử svg gốc, còn khi thiếu hai thuộc tính này thì nó dùng đơn vị của viewBox. Một biểu tượng viết với viewBox 0 0 40 20 mà không có width hay height sẽ thành ảnh JPG 40 x 20 pixel. Hãy đặt width 2400 và height 1200 trong trình soạn thảo văn bản, hoặc xuất ra ở kích thước bạn muốn từ Illustrator, Figma hay Inkscape, và cùng hình vẽ đó sẽ cho bạn ảnh JPG 2400 x 1200.
JPEG không có kênh alpha, nên độ trong suốt phải được xử lý bằng cách nào đó. Các vùng trong suốt được ghép lên nền trắng, với một ngoại lệ: khi phần hình vẽ nhìn thấy được vốn đã rất sáng, lớp nền sẽ chuyển sang đen để một logo trắng không biến mất trên trang trắng. Một tệp SVG trong suốt hoàn toàn thì không có gì để làm phẳng và sẽ trả về lỗi không có dữ liệu đầu ra thay vì một hình chữ nhật trống. Hình học được giữ nguyên trọn vẹn, vì gradient, nét vẽ, mặt nạ cắt và độ mờ đều được cố định luôn vào pixel. Những gì bạn mất là khả năng chỉnh sửa và phóng to vô hạn, cộng thêm một chút độ sắc nét dọc theo các đường biên màu gắt, vì JPEG là định dạng nén mất dữ liệu và việc lấy mẫu màu làm mềm các đường biên màu đậm. Không có EXIF hay profile ICC nào được ghi, và màu được xử lý theo sRGB.
Cách chuyển tệp SVG sang JPG
- Mở tệp SVG bằng bất kỳ trình soạn thảo văn bản nào và xem thẻ svg mở đầu. Nếu nó không có width và height, hãy thêm vào đúng kích thước pixel mà bạn muốn ảnh JPG có, vì đó chính là giá trị mà bộ kết xuất sử dụng.
- Nếu thiết kế dùng văn bản còn ở dạng chữ (chưa chuyển thành hình), hãy chuyển văn bản thành path hoặc đường viền trong trình thiết kế của bạn trước. Các font cài trên máy tính của bạn không có trên máy chủ của chúng tôi, và văn bản được định kiểu bằng stylesheet bên ngoài sẽ không kết xuất ra gì cả.
- Nếu tệp xuất ra từ Inkscape hoặc từ một mẫu chỉnh sửa thủ công, hãy khai báo xmlns:xlink trên phần tử gốc. Với đầu ra JPG, chúng tôi tự động sửa các tiền tố chưa khai báo thường gặp, nhưng một tệp sạch thì an toàn hơn.
- Kéo tệp SVG vào trang này, hoặc tối đa 10 tệp một lúc. Khách có thể gửi tệp tối đa 50 MB mỗi tệp; tài khoản miễn phí nâng mức này lên 100 MB.
- Bắt đầu chuyển đổi. Tệp được tải lên và kết xuất trên máy chủ của chúng tôi, và các tệp vector nhỏ hoàn tất trong vài giây.
- Tải ảnh JPG về. Nếu kết quả trông trống trơn hoặc màu nền khiến bạn bất ngờ, hãy đọc các câu hỏi bên dưới trước khi xuất lại.
Công cụ chuyển đổi này làm được gì
- Kết xuất bằng librsvg thông qua sharp theo width và height được khai báo trong SVG, hoặc theo đơn vị viewBox khi không khai báo kích thước.
- Mã hóa JPEG ở chất lượng 90 với lấy mẫu màu 4:2:0; chất lượng và kiểu lấy mẫu là cố định, trang này không có thanh trượt chất lượng.
- Làm phẳng kênh alpha kèm kiểm tra hình vẽ: nền trắng cho các thiết kế thông thường, nền đen cho hình vẽ gần như toàn bộ đều sáng, để các logo nhạt màu vẫn nhìn thấy được.
- Sửa các tiền tố namespace xlink, sodipodi và inkscape chưa khai báo trên luồng kết xuất ảnh raster, một nguyên nhân phổ biến khiến SVG xuất từ trình thiết kế không phân tích được ở nơi khác.
- Từ chối kết quả kết xuất trống kèm thông báo lỗi giải thích thay vì đưa cho bạn một ảnh JPG trắng trơn, để bạn biết tệp SVG đã phụ thuộc vào thứ gì đó mà nó không truy cập được.
- Nhận tối đa 10 tệp SVG mỗi lượt và trả về mỗi tệp thành một ảnh JPG riêng.
Câu hỏi về chuyển SVG sang JPG
Làm sao để có ảnh JPG độ phân giải cao, và tại sao ảnh của tôi lại ra bé xíu?
Cả hai câu trả lời đều nằm ở kích thước được ghi trong tệp SVG. Ở đây không có tùy chọn độ phân giải, DPI hay tỷ lệ phóng: bộ kết xuất dùng width và height trên phần tử svg gốc, hoặc dùng đơn vị viewBox khi không có hai thuộc tính đó, và đơn vị viewBox thường là những số nhỏ như 24 hay 40. Hãy đổi width 64 và height 64 thành width 2048 và height 2048, hoặc xuất lại từ trình thiết kế ở kích thước pixel mong muốn, và bạn sẽ có ảnh JPG 2048 x 2048. Vì nguồn là vector nên phóng to theo cách này tạo ra chi tiết thật chứ không làm mờ ảnh.
Nền trong suốt sẽ ra sao?
JPEG không lưu được độ trong suốt, nên các pixel trong suốt được ghép lên một màu đặc: màu trắng trong phần lớn trường hợp, hoặc màu đen khi phần hình vẽ nhìn thấy được rất sáng, nhờ đó các biểu tượng màu trắng không bị mất hút. Nếu bạn cần giữ độ trong suốt, hãy dùng công cụ chuyển SVG sang PNG của chúng tôi. Một tệp SVG trong suốt hoàn toàn sẽ trả về lỗi không có dữ liệu đầu ra vì không có gì để kết xuất.
Ảnh JPG bị trống hoặc trắng trơn. Vấn đề là gì?
Hầu như luôn là vì tệp SVG dựa vào thứ gì đó nằm ngoài tệp: một stylesheet từ trang web mà nó được sao chép ra, một font cài trên máy, hoặc một phần tử image trỏ tới tệp hay URL bên ngoài, vốn có thể không truy cập được khi kết xuất. Hãy mở riêng tệp SVG trong trình duyệt, tách khỏi trang gốc. Nếu ở đó nó cũng trông trống trơn, hãy xuất lại từ công cụ thiết kế với kiểu được đưa vào trong tệp (inline), văn bản chuyển thành path và mọi ảnh bitmap được nhúng dưới dạng base64.
Nên chuyển sang JPG hay PNG?
Chọn PNG nếu hình vẽ có vùng trong suốt, mép sắc nét, văn bản hoặc các khối màu phẳng, tức là phần lớn logo và biểu tượng; ở đây PNG không mất dữ liệu và giữ được kênh alpha. Chọn JPG nếu ảnh nằm trên nền màu đặc, mang tính chất ảnh chụp, hoặc một trang web yêu cầu đúng JPEG. Rất nhiều người tìm cách chuyển SVG sang JPG nhưng thật ra lại cần PNG, và đó là lý do SVG sang PNG được tìm kiếm nhiều hơn hẳn.
Tôi có thể chuyển nhiều tệp SVG cùng lúc, hoặc cả một thư mục không?
Bạn có thể chọn tối đa 10 tệp trong một lượt với tư cách khách, 25 tệp với gói Plus và 50 tệp với gói Pro, và mỗi tệp trả về thành một ảnh JPG riêng. Không có tính năng tải lên thư mục, không gộp kết quả thành một tệp ZIP, và không có tự động hóa bằng dòng lệnh hay theo dõi thư mục.
Ảnh JPG có giữ metadata không, và có khớp với bản xuất từ Adobe không?
Không có EXIF hay profile ICC nào được ghi, và đầu ra là sRGB. Các pixel do librsvg tạo ra chứ không phải bộ kết xuất của Illustrator, nên các hiệu ứng filter lạ, chế độ hòa trộn hay kiểu định dạng bằng CSS có thể khác với bản xuất từ Adobe. Với các path thông thường, văn bản đã chuyển thành đường viền và gradient, kết quả khớp với những gì trình duyệt hiển thị.
Tệp của tôi sẽ thế nào sau khi chuyển đổi?
Mọi thứ chạy trên máy chủ của chúng tôi, không phải trong trình duyệt của bạn. Tệp SVG bạn tải lên được xóa ngay khi tác vụ hoàn tất, còn ảnh JPG vẫn tải về được qua một liên kết không thể đoán trước trong khoảng bốn giờ trước khi bị xóa tự động. Tên tệp, kích thước và kết quả được lưu trong nhật ký hệ thống của chúng tôi, và người dùng đã đăng nhập còn có thêm một dòng trong lịch sử chuyển đổi của mình.