Định dạng ảnh

PNG, JPG và WebP: so sánh

Ba định dạng bao phủ gần như mọi thứ. Biết nên chọn cái nào chỉ mất khoảng mười giây một khi bạn hiểu mỗi định dạng được tạo ra để làm gì.

Đăng ngày

Phiên bản một dòng

Dùng JPG cho ảnh chụp, PNG cho mọi thứ có cạnh sắc nét, văn bản hoặc nền trong suốt, và WebP khi đích đến là một trang web và bạn kiểm soát được thứ mở nó. Nếu bạn không nhớ gì khác, quy tắc đó sẽ đúng trong phần lớn các trường hợp.

Vì sao JPG vẫn có mặt khắp nơi

JPG được thiết kế năm 1992 dựa trên một nhận định cụ thể: mắt người nhạy với độ sáng hơn nhiều so với màu sắc, và hầu như không nhận ra chi tiết nhỏ ở những vùng rối. JPG loại bỏ thông tin mà bạn ít có khả năng nhận ra là thiếu nhất, đó là lý do một bức ảnh có thể nhỏ đi còn một phần mười mà trông vẫn giống hệt.

Chính mẹo đó khiến JPG kém ở mọi thứ khác. Chữ đen sắc nét trên nền trắng nằm đúng ở ranh giới mà định dạng xử lý tệ nhất, đó là lý do ảnh chụp màn hình lưu dạng JPG có quầng bẩn quanh mỗi chữ cái. Nén không bị lỗi — nó đang làm đúng điều nó được thiết kế để làm, với nội dung mà nó chưa bao giờ được thiết kế cho.

Vì sao PNG tồn tại

PNG là định dạng không mất dữ liệu. Mỗi điểm ảnh bạn đưa vào đều trở lại nguyên vẹn từng bit, dù bạn mở và lưu lại bao nhiêu lần. Nó cũng có kênh alpha thực sự, nên các phần của ảnh có thể trong suốt thật sự thay vì được lấp bằng màu nền.

Cái giá là dung lượng. PNG nén bằng cách tìm các mẫu và sự lặp lại, hoạt động rất tốt với màu phẳng, logo, sơ đồ và ảnh chụp màn hình, nhưng kém với ảnh chụp, nơi mỗi điểm ảnh khác một chút so với điểm lân cận. Một bức ảnh lưu dạng PNG có thể dễ dàng lớn gấp năm lần bản JPG mà không có lợi ích nhìn thấy được.

Nơi WebP thực sự thắng

WebP làm được cả hai việc. Nó có chế độ nén có mất dữ liệu thường tốt hơn JPG ở cùng chất lượng hình ảnh, và chế độ không mất dữ liệu có hỗ trợ trong suốt thường tốt hơn PNG. Mức tiết kiệm điển hình so với PNG nằm trong khoảng 30% đến 70%.

Vấn đề không phải là trình duyệt — mọi trình duyệt hiện nay đều đọc được WebP. Vấn đề là mọi thứ còn lại: phần mềm máy tính đời cũ, một số máy in, một số hệ thống tài liệu doanh nghiệp và một loạt công cụ sẽ từ chối mở tệp. Nếu bạn đăng lên web, hãy dùng WebP. Nếu bạn gửi tệp cho một người sẽ mở nó bằng thứ chưa biết, đừng dùng.

Cái bẫy mà gần như ai cũng mắc phải

Chuyển JPG sang PNG không khôi phục chất lượng. Nó khiến tệp không mất dữ liệu kể từ thời điểm đó, giúp ngăn thêm hư hại — nhưng chi tiết mà JPG gốc đã loại bỏ thì mất vĩnh viễn, và PNG trung thành giữ lại mọi lỗi nén cùng với nó. Bạn nhận được một tệp lớn hơn nhiều mà chứa đúng những khuyết điểm cũ.

Hệ quả mới là phần hữu ích: nếu bạn định chỉnh sửa một ảnh nhiều lần, hãy làm việc bằng PNG và chỉ xuất sang JPG một lần ở cuối cùng. Mỗi lần lưu trung gian ở định dạng có mất dữ liệu đều làm hư hại chồng chất.

Điều gì xảy ra với phần trong suốt

Chỉ PNG, WebP, GIF và ICO mang được độ trong suốt. Chuyển bất kỳ định dạng nào trong số đó sang JPG hoặc BMP thì những vùng ấy phải trở thành một thứ gì đó, vì định dạng không có chỗ để ghi “không có gì ở đây”. Các công cụ chọn khác nhau; một số lượng đáng ngạc nhiên chọn màu đen, làm hỏng logo. Trang này cố ý lấp bằng màu trắng, gần như luôn là điều mọi người mong đợi.

Để áp dụng vào thực tế: chuyển PNG sang WebP cho ảnh web nhẹ hơn, chuyển JPG sang PNG khi bạn cần bản sao không mất dữ liệu, hoặc nén ảnh mà không đổi định dạng.