Tôi có thể có một GIF hoạt hình với hơn 256 màu trên mỗi khung không?


31

Tôi có thể có một GIF hoạt hình với hơn 256 màu trên mỗi khung không? Tôi muốn làm một GIF hoạt hình nhưng pallet màu hạn chế đang làm cho nó trông giống như rác.

Câu trả lời:


42

Vâng, bạn có thể, với những hạn chế nhất định.

cầu vồng từ hộp

GIF hỗ trợ các bảng màu trên mỗi khung hình (cục bộ) và có phương thức xử lý khung "nguyên trạng" cho phép kết hợp nhiều khung hình.

Tôi đã viết [bộ mã hóa GIF " gifski " bằng kỹ thuật này]. Nó tạo ra hình ảnh động với khoảng 1000-3000 màu trên mỗi khung.

Điều hấp dẫn là bạn chỉ có thể tận dụng lợi thế này khi không phải tất cả các pixel của hình ảnh đều thay đổi giữa các khung. Vì vậy, nếu bạn có thứ gì đó di chuyển phía trước nền tĩnh, bạn có thể có hoạt hình hơn 256 màu - đối tượng chuyển động sẽ bị giới hạn ở 256 màu, nhưng nền có thể bao gồm nhiều khung với các bảng màu khác nhau. Với phối màu thông minh, thậm chí có thể sử dụng lại một số pixel của các đối tượng chuyển động .


Bạn có nghĩa là chỉ hình ảnh hoạt hình có thể có nhiều hơn 256 màu? Có thể hack nó bằng mọi cách mà chúng ta có thể hiển thị một hình ảnh tĩnh với hơn 256 màu?
Pacerier

4
@Pacerier Điều này chỉ hoạt động cho hình ảnh động. Về lý thuyết, có thể có một GIF tĩnh, nhưng do các trình duyệt lỗi / lỗi kế giải thích 0độ trễ khung là ~ 1/16 giây, vì vậy tốt nhất bạn có thể có hoạt hình xây dựng hình ảnh tĩnh. Đối với tĩnh, bạn vẫn tốt hơn với PNG / JPG.
Kornel

3
Yea gif thậm chí dường như không có một lợi thế duy nhất trong miền hình ảnh tĩnh.
Pacerier

2
@GeorgeEdison bạn có thể, nhưng GIF có khả năng nén cực kỳ yếu, vì vậy nó sẽ tệ hơn về mọi mặt so với việc chỉ sử dụng PNG hoặc bất cứ thứ gì khác.
Kornel

1
@ g491 gifsicle có thể xây dựng các tệp như vậy (sử dụng nhiều gifs với độ trong suốt và xử lý = chế độ giữ)
Kornel

5

Không, bạn không thể; Định dạng GIF chỉ cho phép 256 màu.


3
Mỗi khung hình. Trước khi bạn đề cập đến các vấn đề thực tiễn, tôi khá chắc chắn rằng Bing đang sử dụng các GIF màu thật này ngay bây giờ.
John Chadwick

1
Tôi thấy 32697 màu trên gif này: phil.ipal.org/tc.html và cả goo.gl/DBdg1o
Pacerier

3

Ít nhất, theo lý thuyết, bạn có thể xếp GIF và làm cho các màu thêm trong suốt.

  1. Đầu tiên, bạn sao chép từng khung để bạn có hai khung.
  2. Sau đó, chọn khu vực theo màu với độ nhạy đủ thấp để nó chọn một nửa hình ảnh.
  3. Sau đó, chỉ cần xóa mọi thứ bên trong lựa chọn.
  4. Bây giờ, đảo ngược lựa chọn.
  5. Sau đó, đi đến khung tiếp theo và xóa mọi thứ một lần nữa.
  6. Lưu kết quả cuối cùng ( raw-ani.gif).
  7. Xóa một nửa khung.
  8. Lưu với tên tệp mới ( ani1.gif).
  9. Tải phiên bản đã lưu trước đó.
  10. Xóa nửa khung còn lại.
  11. Lưu lại ( ani2.gif).

Hack một số HTML với định vị tuyệt đối và đặt ani2.giflên hàng đầu ani1.gif.

Lặp lại quy trình để tạo bốn, tám, 16 lớp hoặc những gì bạn muốn.

Bạn cũng có thể tăng tốc raw-ani.gifkết quả và có những gì Kornel mô tả.


2

Không có tệp gif không giới hạn ở 256 màu.


4
Mặc dù đúng, hack GIF màu thật có một số hạn chế lớn: nó không hoạt động đối với người xem hình ảnh không hỗ trợ hoạt hình (hoặc trong các trình duyệt nơi người dùng đã tắt hoạt hình GIF), một số có thể hiển thị rất chậm trong một số các trình duyệt áp đặt độ trễ khung tối thiểu và nó có xu hướng tạo ra các tệp lớn nén kém. Nó gọn gàng, nhưng không thực sự rất hữu ích trong thế giới thực. Chỉ cần sử dụng PNG nếu bạn cần nhiều hơn 256 màu. (Than ôi, hỗ trợ trình duyệt MNG / APNG thực sự rất đáng chú ý.)
Ilmari Karonen

Trong khi về mặt lý thuyết có thể trả lời câu hỏi, tốt hơn là nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo.
Mark Henderson

1

Có thể có một gif màu thực sự và có nhiều bài viết trực tuyến, tuy nhiên chúng không thực tế lắm.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.