Tuần trước tôi nhận một thư mục gồm 312 ảnh sản phẩm, kích thước từ 800 × 800 đến 5472 × 3648, lẫn JPG, PNG và vài file HEIC. Sàn bán hàng yêu cầu JPG 1600 × 1600 dưới 2MB. Phiên bản còn lại của việc này là di chuyển blog: hai trăm hình minh họa PNG cần chuyển sang WebP với chiều rộng tối đa 1600. Nghe như hai việc khác nhau, nhưng thực ra chung một quy trình.
Vì sao xử lý rời từng bước làm hỏng chất lượng
Cách làm theo trực giác là dùng ba công cụ nối tiếp nhau: đổi kích thước rồi tải về, chuyển định dạng rồi tải về, nén rồi lại tải về. Công cụ nào cũng xử lý được cả lô, nhưng công cụ nào cũng mã hóa lại file khi xong việc. JPG là định dạng nén có mất mát; mỗi lần mã hóa lại là mất thêm thông tin, và sau ba vòng, phóng to lên sẽ thấy rõ viền bị vỡ khối và lem màu.
Cách đúng là chỉ mã hóa đúng một lần ở cuối. Ảnh được giải mã thành bitmap, rồi đổi kích thước, cắt và chuyển đổi ngay trong bộ nhớ, và chỉ bước cuối cùng mới ghi file theo định dạng và chất lượng đích. Xử lý ảnh hàng loạt được xây theo đúng hướng này: sáu bước theo thứ tự cố định, không có công đoạn nén mất mát nào xen giữa.

Tình huống một: 300 ảnh sản phẩm cho sàn thương mại điện tử
Mục tiêu: 1600 × 1600, JPG, dưới 2MB, tên cửa hàng ở góc dưới bên phải. Từng bước như sau:
- Kích thước: Lấp đầy 1600 × 1600. Ảnh ngang hay dọc đều được thu phóng vừa đủ để phủ kín khung này.
- Cắt theo tỷ lệ: 1:1. Phần vượt ra ngoài hình vuông được cắt từ giữa; ảnh sản phẩm có chủ thể ở giữa không bị ảnh hưởng.
- Hình mờ: bật, chữ là tên cửa hàng, ở góc dưới bên phải, cỡ 4 phần trăm, độ mờ 50 phần trăm.
- Đầu ra: JPG, chất lượng 85, tên file chọn Đổi tên thành tên-001, với mã SKU hoặc danh mục làm tiền tố.
Trên một chiếc laptop bình thường, 312 ảnh xong trong ba đến bốn phút và mỗi file nặng khoảng 200 đến 600KB, thấp hơn nhiều so với mức trần 2MB. File HEIC gốc được đọc trực tiếp, không cần một vòng chuyển đổi riêng. File ZIP xuất ra có tên đánh số gọn gàng, tải lên được ngay mà không phải đổi tên.
Một số ảnh có chủ thể lệch hẳn khỏi tâm, cắt giữa sẽ xén mất phần quan trọng. Hãy tách riêng những ảnh này, tự canh khung bằng Cắt ảnh rồi cho chạy qua quy trình riêng. Trong đa số lô, loại ảnh này chưa đến một trên mười.
Tình huống hai: chuyển thư viện ảnh blog sang WebP
Mục tiêu: mọi hình minh họa thành WebP, chiều rộng không quá 1600, ảnh chụp màn hình vẫn sắc nét. Đơn giản hơn tình huống đầu:
- Kích thước: Chiều rộng 1600 và tắt Cho phép phóng to. Ảnh nào đã hẹp hơn sẽ được giữ nguyên.
- Đầu ra: WebP, chất lượng 80.
- Tên file: giữ nguyên tên gốc. Khi đó trong các bài viết chỉ cần đổi phần đuôi, từ .png sang .webp.
Hai trăm file PNG chuyển theo cách này thường giảm hơn 70 phần trăm dung lượng. Điều duy nhất cần lưu ý là logo và biểu tượng có nền trong suốt. WebP hỗ trợ trong suốt và quy trình giữ nguyên kênh alpha nên không vấn đề gì; nhưng nếu đích đến là JPG, vùng trong suốt sẽ bị tô trắng, và những file đó nên giữ PNG.
Xong xuôi, hãy thả hai file kết quả vào Chuyển đổi ảnh để kiểm tra nhanh chúng hiển thị thế nào trên trình duyệt cũ. Một bước kiểm chứng rất rẻ để yên tâm.
Lấp đầy, Vừa khung hay Cạnh dài nhất?
Chế độ đổi kích thước là thiết lập người ta hay chọn sai nhất. Ba chế độ phổ biến, mỗi chế độ phục vụ một tình huống:
- Cạnh dài nhất: bạn chỉ cần ảnh không quá lớn và không quan tâm tỷ lệ. Dùng cho ảnh blog và album chia sẻ.
- Vừa khung W × H: toàn bộ ảnh phải lọt trong một khung mà không bị cắt, nên một cạnh có thể ngắn hơn khung. Dùng cho ảnh thu nhỏ và slide.
- Lấp đầy W × H: khung phải được phủ kín và phần thừa bị cắt bỏ. Dùng cho ảnh sàn thương mại điện tử, ảnh đại diện và thẻ có tỷ lệ cố định, thường đi kèm Cắt theo tỷ lệ.
Quy tắc nhanh: nếu nền tảng ghi “không quá N pixel”, hãy dùng Cạnh dài nhất hoặc Vừa khung. Nếu ghi “phải đúng W × H”, hãy dùng Lấp đầy.
Hai việc cần kiểm tra trước khi chạy
Thứ nhất, xem bản xem trước trực tiếp. Quy trình dựng ảnh đầu tiên với mọi thiết lập hiện tại: vị trí hình mờ, việc cắt có xén mất chủ thể hay không, màu có bị lệch hay không, tất cả nhìn thấy ngay. Xác nhận rồi mới bấm Xử lý tất cả. Đừng đợi chạy xong 300 file mới phát hiện tên cửa hàng đè lên sản phẩm.
Thứ hai, hãy giữ lại bản gốc. Quy trình không bao giờ sửa file nguồn của bạn, nhưng file xuất ra sau khi mã hóa lại không còn EXIF hay dữ liệu chụp, nên hãy chắc chắn bản gốc đã được lưu ở đâu đó trước khi tải ZIP về. Với những bức ảnh cần xóa dữ liệu vị trí thì đây lại là ưu điểm; xem thêm EXIF metadata là gì và vì sao nên xóa.
Đổi kích thước và chuyển định dạng hàng loạt gói gọn trong một câu: cấu hình một lần, chạy cả lô, không ghi ra đĩa ở giữa chừng. Phần còn lại chỉ là chọn giữa ba chế độ đổi kích thước và hai định dạng đầu ra.
