Saya baru-baru ini menemukan gambar yang sangat aneh, dengan properti aneh. Gambar dalam format PNG dan hanya menampilkan burung sederhana dengan latar belakang transparan. Teman saya mengirimi saya gambar dengan instruksi sederhana hanya untuk menyimpannya dan mengaturnya sebagai latar belakang saya.
Setelah mengatur gambar sebagai latar belakang saya, gambar kedua muncul untuk menunjukkan bahwa sebenarnya burung camar berdiri di atas senjata:
Ini awalnya membuat saya sangat ingin tahu sifat gambar dan bagaimana membuat gambar seperti itu. Saya telah membuka gambar di Photoshop dan tidak ada yang luar biasa muncul - gambar masih sama dengan burung camar transparan, tidak ada lapisan atau topeng tersembunyi untuk membuatnya tidak terlihat. Setelah memeriksa gambar di Photoshop, saya berpikir Windows membuat perubahan pada file ketika mengaturnya sebagai latar belakang desktop saya - setelah menavigasi ke %AppData%\Microsoft\Windows\Themes
gambar itu tampak sama.
Mengapa gambar ini menunjukkan lapisan tersembunyi yang terpisah atau gambar yang sepenuhnya terpisah ketika ditetapkan sebagai Latar Belakang Desktop Windows dibandingkan dengan yang dilihat atau diedit di Photoshop?
Jawaban:
Saya menduga itulah yang disebut "Dirty Transparency" dalam artikel ini dari Smashing Magazine .
Pada dasarnya setiap warna dalam PNG transparan dapat digambarkan dengan nilai RGBA, di mana RGB berarti saluran Merah, Hijau dan Biru dan A adalah singkatan dari Alpha. Warna "tidak terlihat" dapat memiliki nilai RGB + 0 Alpha, yang berarti bahwa warna akan mempertahankan informasi asli, tetapi menjadikannya transparan karena alpha-nya diatur ke 0.
Mengapa Anda ingin menyimpan nilai RGB saat Alpha sedang digunakan? Jadi Anda bisa mendapatkan tepi yang halus dan warna transparan — tidak seperti tepi bergerigi di GIF latar belakang transparan. Transparansi dalam PNG dapat berubah dari 0 hingga 255, dalam GIF 100% transparan atau buram. Untuk membuat sesuatu pada, katakanlah, transparansi 50%, Anda masih perlu mengetahui nilai RGB, maka nilainya disimpan. Sebagian besar perangkat lunak editor gambar membuang informasi RGB ketika menyimpan warna yang sepenuhnya transparan, termasuk Photoshop.
Saya tidak dapat berbicara untuk versi CC, tetapi untuk melihat warna "tidak terlihat" di versi Photoshop yang lebih lama Anda akan memerlukan sebuah plugin. Pilih satu: Photofreebies atau SuperPNG . SuperPNG tampaknya lebih baru dan kurang berantakan.
Mengapa triknya berhasil? Wallpaper harus buram karena tidak ada "belakang" yang dapat mereka tampilkan, bukan? Dugaan saya adalah bahwa Windows membuang informasi saluran Alpha, mengungkapkan nilai-nilai RGB tersembunyi dalam proses.
sumber
Untuk menambah jawaban Nihal , ini dapat direproduksi dengan menggunakan sikat "anti-hapus" di GIMP. Sikat Erase dapat menambah atau menghapus saluran alfa jika gambar menggunakan format yang mendukungnya, (tahan Alt untuk bertukar antara menghapus dan anti-menghapus).
Untuk Krita, Anda dapat melakukan ini:
Layer > Split Alpha > Alpha into Mask
. Setelah melakukan itu, Anda dapat menyembunyikan atau menghapus saluran Transparency Mask 1 yang baru saja dibuat dan Anda akan melihat gambar lengkap.Karena latar belakang Windows tidak dapat memiliki apa pun di belakangnya, itu mungkin hanya menghilangkan transparansi dan menampilkan gambar tanpa itu, (gambar 32 bit cepat dan kotor menjadi 24 bit dari tampilannya).
sumber
Satu hal klarifikasi: Ini bukan bug, itu adalah perilaku yang ditentukan dalam spesifikasi png. Secara spesifik spesifikasi menyatakan bahwa jika penampil atau konverter tidak dapat memahami transparansi atau transparansi tidak sesuai untuk suatu konteks atau penggunaan saluran alfa dapat diabaikan. Lebih lanjut spesifikasi meminta semua pembuat gambar untuk mengatur warna transparan sehingga gambar berguna jika saluran alfa diabaikan. (Parafrase saya, saya sudah beberapa tahun sejak saya membaca spec.)
sumber