Vâng nó có thể. Hãy để tôi phác thảo cách nó được thực hiện, sử dụng hình ảnh này từ Wikimedia Commons (bởi ed_g2s , được cấp phép dưới dạng CC-By-SA 3.0 ) làm ví dụ:
Mở các phiên bản nền đen và trắng dưới dạng các lớp của cùng một hình ảnh (sử dụng Mở dưới dạng Lớp ... hoặc chỉ mở cả hai và sao chép và dán một lớp vào nhau). Di chuyển lớp màu trắng lên trên lớp màu đen nếu nó chưa được như vậy. Hai lớp sẽ trông giống như thế này:
Lấy sự khác biệt của các lớp: sao chép lớp màu đen (bạn sẽ cần nó sau), thay đổi chế độ lớp của lớp trắng thành "khác biệt" và hợp nhất nó xuống. Đảo ngược kết quả. Điều này cung cấp cho bạn kênh alpha của hình ảnh gốc.
Chỉnh sửa: Nếu nền của bạn không có màu đen và trắng, lớp khác biệt đảo ngược sẽ không có nền đen. Để khắc phục điều đó, trước tiên hãy khử bão hòa lớp (sử dụng chế độ nào mang lại độ tương phản tốt nhất) và sau đó sử dụng Màu sắc → Tự động → Chuẩn hóa để làm nền đen. Thay vào đó, bạn cũng có thể sử dụng Bộ trộn kênh , nhưng sử dụng sẽ khó hơn một chút.
( Bình thường hóa ở trên hoạt động nếu kênh alpha bạn đang tạo lại có ít nhất một số phần có độ mờ 100%; nếu hình ảnh bạn đang tái tạo ở mọi nơi mờ, bạn có thể sử dụng Màu sắc → Cấp độ ... để chỉ đặt điểm đen thay thế. )
Nếu bạn chưa có, bạn cũng cần tạo một phiên bản hình ảnh của mình với nền đen cho bước tiếp theo. Để làm điều đó, sử dụng các bước bổ sung sau:
- Chọn bất kỳ phiên bản gốc nào có nền tối hơn. Tạo một layer mới bên trên nó chứa đầy màu nền của nó.
- Nhân bản lớp khác biệt và đảo ngược lại để nó có nền trắng. Đặt lớp này lên trên lớp màu mới mà bạn vừa tạo, đặt chế độ lớp của nó thành "nhân" và hợp nhất nó xuống.
- Cuối cùng, thay đổi chế độ của lớp kết quả thành "trừ" và hợp nhất nó xuống lớp với hình ảnh gốc. Điều này sẽ trừ đi nền ban đầu, để lại cho bạn hình ảnh trên nền đen.
Nếu chúng tôi đang sử dụng định dạng hình ảnh với alpha được nhân lên trước, chúng tôi sẽ ít nhiều được thực hiện ngay bây giờ. Nhưng vì chúng tôi không có, chúng tôi vẫn cần nhân lại các kênh RGB. Để làm điều đó, hãy sao chép lớp alpha mà chúng ta đã tạo ở bước trước (hoặc chỉ sao chép nó vào bảng tạm), đặt chế độ lớp của nó thành "chia" và hợp nhất nó với lớp nền đen được nhân bản trước bước 2. Kết quả sẽ trông như thế này (so sánh với phiên bản nền đen ban đầu để thấy sự khác biệt):
Bây giờ, thêm một mặt nạ lớp cho lớp kết quả, chọn mặt nạ và dán lớp alpha vào nó. Kết quả bây giờ trông ít nhiều giống như hình ảnh trong suốt ban đầu. Cuối cùng, để biến mặt nạ thành kênh alpha thích hợp, bạn có thể áp dụng nó (nhưng xuất PNG của GIMP sẽ làm điều đó cho bạn ngay cả khi bạn không). Và ở đó bạn đi - một PNG trong suốt được xây dựng lại sẵn sàng để đi:
Dĩ nhiên, kỹ thuật này thực sự đòi hỏi bạn phải có các phiên bản của hình ảnh trên tinh khiết nền màu trắng đen và tinh khiết. Nếu hình nền hơi khác một chút, các phương pháp tương tự vẫn có thể sử dụng được, nhưng bạn có thể cần phải điều chỉnh màu bổ sung và kết quả có thể không hoàn hảo. ( Chỉnh sửa: Xem phần bổ sung cho bước 2 ở trên. Các hướng dẫn được sửa đổi sẽ hoạt động với nền có bất kỳ màu nào, miễn là chúng có màu đặc.)
Thi thiên GIMP cũng có tính năng "Xóa màu" (dưới dạng chế độ hòa trộn cho công cụ Nhóm đổ đầy hoặc là Màu thành Alpha ... cho toàn bộ hình ảnh), rất hữu ích để tái tạo độ trong suốt khi bạn chỉ có một phiên bản hình ảnh trên một nền màu vững chắc. Tuy nhiên, trừ khi được sử dụng cẩn thận, nó có xu hướng tạo ra đầu ra khá minh bạch hơn bạn có thể muốn .
Pps. Nếu bạn so sánh những hình ảnh ban đầu và xây dựng lại rất cẩn thận, bạn sẽ thấy rằng chúng không phải là chính xác giống hệt nhau - một số giá trị màu được tắt bằng 1/256 hoặc lâu hơn. Đó là do cách thức hoạt động của chế độ lớp "chia" của GIMP : thay vì tính toán nghịch đảo thực sự của phép nhân alpha, sẽ là đầu ra = ( đầu vào 255 × ) / lớp , nó thực sự tính toán đầu ra = ( đầu vào 256 × ) / ( lớp+ 1). Sự không phù hợp này, được thực hiện một cách phô trương để tránh chia cho 0, có nghĩa là một số màu có thể làm tròn đến một giá trị hơi khác so với mức cần thiết. Than ôi, tôi không biết cách nào khác, ngoài việc vá GIMP, viết một plugin để thực hiện việc phân chia theo cách chúng ta muốn hoặc sử dụng một số chương trình khác. Tuy nhiên, may mắn thay, sự khác biệt về màu sắc hiếm khi được thực sự cảm nhận bằng mắt người.