Chuyển khung từ GIF sang PNG
Các GIF hoạt hình về cơ bản là một tập hợp các hình ảnh 256 màu với độ trễ giữa từng khung hình. Việc chia chúng thành các tệp PNG sẽ cung cấp toàn bộ các khung hình cần thiết cho bảng sprite, cho phép chỉnh sửa từng khung hình riêng biệt hoặc nhập vào After Effects, Blender hoặc các engine trò chơi. Công cụ này giải mã luồng dữ liệu và trả về các tệp từ frame_001.png đến frame_N.png dưới dạng file ZIP.
Cách chia một file GIF thành các khung hình
-
1
Tải lên file GIF
Bất kỳ GIF động nào có số khung hình hữu hạn.
-
2
Bộ giải mã duyệt qua từng khung hình.
Độ trễ (delay) và phương thức xử lý khung (disposal) được tuân thủ đúng, nhờ đó độ trong suốt được xếp chồng một cách chính xác.
-
3
Mỗi khung hình được lưu dưới định dạng PNG.
Sử dụng cách đánh số có thêm số 0 ở đầu, giúp các trình quản lý tệp luôn sắp xếp đúng thứ tự.
-
4
Tải file ZIP
Một kho lưu trữ duy nhất, mỗi khung hình chứa một tệp PNG.
Hình thức hiển thị của kết quả
my-animation.zip
├── frame_001.png
├── frame_002.png
├── frame_003.png
…
└── frame_042.png
Số hiệu bắt đầu từ 1 và có các chữ số 0 ở vị trí đầu; nhờ đó, một đoạn hoạt ảnh gồm 42 khung hình sẽ được sắp xếp đúng trong Finder, Explorer hoặc dưới dạng ls -1.
Độ trễ khung hình và phương thức xử lý
Các khung hình GIF có độ trễ ở mức hàng trăm phần giây và được xử lý theo một phương thức cụ thể (không làm gì, trở về nền hoặc trở lại trạng thái trước). Bộ giải mã sẽ ghép nối từng khung hình với nền bằng cách áp dụng các quy tắc này, do đó các tệp PNG đầu ra là hình ảnh hoàn chỉnh thay vì chỉ là các giá trị thay đổi nhỏ (delta).
Nếu nguồn sử dụng phương thức xử lý “khôi phục về nền” kèm tính trong suốt, một số khung hình được xuất ra có thể hiển thị chủ yếu với độ trong suốt – đó chính là mục đích ban đầu.
Các khung PNG tiếp theo sẽ được đặt ở đâu
- Tấm hình động (Sprite sheets): Kết nối các khung hình theo phương ngang để tạo thành một tấm hình động có thể sử dụng được bởi CSS
steps()hoặc Phaser. - Video: đưa vào FFmpeg với định dạng
-frameratevà xuất thành định dạng MP4 hoặc WebM. - Các công cụ hoạt hình: nhập vào Krita, Procreate, After Effects hoặc Aseprite để chỉnh sửa từng khung hình một cách chi tiết.
- Tài liệu hóa: Chọn một khung hình chính cho hình ảnh nhân vật chính và giữ phần còn lại trong dạng lưu trữ.
Câu hỏi thường gặp
Đúng vậy. Mỗi khung hình đều được lưu với giá trị alpha được giữ nguyên, do đó các logo hoặc hiệu ứng hoạt ảnh trên giao diện người dùng vẫn có thể sử dụng được trên mọi nền hình nền.
Hình ảnh đầy đủ. Bộ giải mã tuân thủ phương thức xử lý định dạng GIF; do đó, các tệp PNG được xuất sẽ hiển thị trạng thái tổng hợp, chứ không phải giá trị thay đổi giữa các khung hình được lưu trong luồng dữ liệu GIF.
Công cụ này sẽ ghi một tệp frames.json vào danh sách ZIP, trong đó mỗi khung hình cùng với thời gian trễ của nó được ghi dưới dạng miligiây; nhờ đó bạn có thể tái tạo chính xác thời gian chiếu ban đầu bằng FFmpeg hoặc các phần mềm chỉnh sửa video.
Không. Tệp được tải lên sẽ được xử lý để tạo thành tệp ZIP và sau đó bị loại bỏ.
Công cụ liên quan
Trình đổi kích thước ảnh
Đổi kích thước ảnh theo số pixel chính xác hoặc theo phần trăm mà vẫn giữ tỷ lệ khung hình. Phù hợp để chuẩn bị nhiều ảnh, không cần tải lên.
Công cụ tăng độ phân giải ảnh
Phóng to ảnh độ phân giải thấp lên 2×, 3× hoặc 4× bằng siêu phân giải AI hoặc nội suy cổ điển, đồng thời giữ các chi tiết quan trọng.
Nén GIF
Giảm kích thước GIF động trong trình duyệt bằng cách thu nhỏ kích thước, giữ ít khung hình hơn và chỉnh chất lượng mã hóa. Xem trước vòng lặp trước khi tải xuống.
Trình thay đổi kích thước ảnh hàng loạt
Kéo thả nhiều ảnh, căn vừa hoặc kéo giãn theo kích thước mục tiêu, rồi xuất JPG, PNG hoặc WebP trong một file ZIP. Mọi xử lý ở lại trong trình duyệt.
Trình tạo GIF
Chuyển chuỗi ảnh hoặc video ngắn thành GIF động. Điều chỉnh tốc độ khung hình, số vòng lặp và kích thước trước khi xuất.
Bộ nén hình ảnh
Nén ảnh JPG, PNG và WebP để giảm kích thước tệp mà vẫn giữ chất lượng hiển thị. Toàn bộ quá trình chạy trong trình duyệt, không cần tải lên.