2010-11-15 36 views
11

Đây là hình ảnh: Gradient1 http://adamhaskell.net/img/gradient1.png
Hình ảnh này là một màu đen đơn giản trong suốt được lưu trong toàn bộ RGB RGBA.Độ trong suốt của Alpha trong hình ảnh được lập chỉ mục-png

Đây là cùng một hình ảnh, chuyển đổi sang lập chỉ mục-alpha PNG bởi GIMP (Photoshop tạo ra kết quả tương tự)
Gradient2 http://adamhaskell.net/img/gradient1b.png
Như bạn thấy, gradient tại là nửa đục nửa trong suốt.

Dưới đây là hình ảnh tương tự một lần nữa, chỉ có thời gian này nó đã được chuyển đổi sang lập chỉ mục-alpha PNG bởi một kịch bản PHP tôi đã viết:
Gradient3 http://adamhaskell.net/img/gradient1c.png

Vì vậy, câu hỏi của tôi là: Tại sao GIMP và Photoshop không thể hỗ trợ một phần minh bạch trong các hình ảnh được lập chỉ mục, khi kịch bản lệnh PHP cho thấy rõ ràng rằng một hình ảnh như vậy có thể được tạo ra mà không có vấn đề gì?
Có bất kỳ điều gì "sai" với hình ảnh có pallette chứa thông tin alpha không?
Câu hỏi liên quan đến lập trình khác: Tính minh bạch này trong hình ảnh cuối cùng có hoạt động trong Internet Explorer 6 không?

+0

'optipng-force' lưu chính xác nó dưới dạng chỉ mục-alpha. –

Trả lời

3

Cuối cùng tôi đã tìm thấy câu trả lời thực tế: Có mục nhập siêu dữ liệu cho phép bạn xác định giá trị alpha của mỗi màu trong bảng màu. Hầu hết các chương trình đồ họa không tận dụng điều này, nhưng nó tồn tại và có thể được sử dụng, đặc biệt là GD.

+0

Bạn đã làm điều đó bằng tay hoặc với một plugin, bởi vì tôi không thể tưởng tượng làm điều này cho hình ảnh hiện tại bằng tay. –

+0

Tôi sử dụng GD cho tất cả các nhu cầu hình ảnh có thể lập trình của mình;) –

+0

GD? Tôi có cần phải được nhắc nhở hoặc chỉ cần thông báo? (Không phải thiết kế đồ họa, hay?) –

1

Vâng, tôi biết ý của bạn là gì. Pháo hoa là chương trình chỉnh sửa hình ảnh duy nhất mà tôi biết có thể tạo và chỉnh sửa PNG8 + Alpha mà không gặp vấn đề gì. Tôi muốn nhiều chương trình vẽ hơn sẽ hỗ trợ định dạng này vì Fireworks rất đắt!

+2

[ImageAlpha] (http://pngmini.com) thực hiện điều này miễn phí và IMHO tốt hơn Fireworks. – Kornel

+0

Ngoài ra còn có [Color quantizer (Windows)] (http://x128.ho.ua/color-quantizer.html) và [Pngnq (Windows và Mac)] (http://pngnq.sourceforge.net/). Nhà phát triển sau này muốn tạo một plugin GIMP, nhưng GIMP không cung cấp bảng màu, ông nói. Có lẽ ai đó có nhiều thời gian hơn tôi có thể thuyết phục anh ta hoặc sử dụng cái này hay cái gì đó? Heh .. –

4

Một tùy chọn khác ngoài pháo hoa là pngquant, một ứng dụng dòng lệnh sẽ chuyển đổi png rgba thành png được lập chỉ mục với độ trong suốt.

Tôi đã tìm thấy this post nói về một số cách khác để sử dụng nó.

IE6 và phiên bản cũ hơn trong cửa sổ không hỗ trợ PNG minh bạch biến đổi mà không có cách giải quyết khó chịu. PNG được lập chỉ mục sẽ chỉ hiển thị các phần hoàn toàn mờ đục thường hoạt động khá tốt. Một bóng đổ sẽ biến mất nhưng các phần mờ của logo hoặc biểu tượng sẽ tiếp tục hiển thị.

Trang này có một lời giải thích tốt hơn và hướng dẫn với nhiều nén png và lượng tử hóa công cụ: http://calendar.perfplanet.com/2010/png-that-works/

4

Đối với hồ sơ, PNG không theo nghĩa đen hỗ trợ hình ảnh được lập chỉ mục với một kênh alpha. Điều thực sự xảy ra là PNG cho phép bạn thêm các màu bổ sung vào bảng màu (tức là chỉ mục) với các giá trị alpha trong các màu đó ... không phải là kênh alpha hoàn chỉnh. FWIW ...

Các vấn đề liên quan