Terlihat gambar PNG lapisan yang hanya terlihat sebagai latar belakang

Saya telah baru-baru ini datang di waktu yang sangat aneh gambar, dengan sifat aneh. Gambar dalam format PNG dan hanya menunjukkan burung sederhana dengan latar belakang transparan. Teman saya mengirimi saya gambar dengan petunjuk sederhana untuk menyimpan dan mengaturnya sebagai latar belakang saya.

Setelah mengatur gambar sebagai latar belakang saya yang kedua gambar yang muncul untuk menunjukkan bahwa sebenarnya seagull berdiri pada senjata:

Ini pada awalnya membuat saya sangat penasaran dengan sifat gambar dan cara membuat gambar seperti itu. Saya telah membuka gambar di Photoshop dan tidak ada yang luar biasa muncul - gambar masih sama seperti yang transparan camar, tidak ada lapisan tersembunyi atau masker untuk membuatnya tak terlihat. Setelah memeriksa gambar di Photoshop, saya pikir Windows perubahan yang dibuat ke file ketika menetapkan hal itu sebagai latar belakang desktop - setelah menavigasi ke %AppData%\Microsoft\Windows\Tema gambar muncul untuk menjadi sama.

Mengapa gambar ini menunjukkan memisahkan lapisan tersembunyi atau benar-benar terpisah gambar ketika ditetapkan sebagai Windows Desktop Background dibandingkan dengan yang dilihat atau diedit di Photoshop?

Mengomentari pertanyaan (1)
Larutan

I'm menebak itu's apa yang disebut "Kotor Transparansi" dalam hal ini artikel dari Smashing Magazine.

Pada dasarnya semua warna di Png transparan yang dapat dijelaskan oleh nilai RGBA, di mana RGB adalah singkatan dari Red, Green dan Blue saluran dan berdiri untuk Alpha. "tak terlihat" warna dapat memiliki nilai RGB + 0 Alpha, yang berarti bahwa warna akan mempertahankan informasi yang asli, tapi membuat transparan karena alpha-nya diatur ke 0.

Mengapa anda ingin menyimpan nilai RGB ketika Alpha yang digunakan? Sehingga anda bisa mendapatkan tepi halus dan transparan warna—tidak seperti tepi bergerigi dalam transparan-background Gif. Transparansi dalam PNG dapat pergi dari 0 hingga 255, di Gif itu's baik 100% transparan atau buram. Untuk membuat sesuatu, let's mengatakan, 50% transparansi, kau'll masih perlu untuk mengetahui nilai-nilai RGB, maka nilai yang disimpan. Kebanyakan software image editor yang membuang RGB informasi saat menyimpan sepenuhnya transparan warna, Photoshop disertakan.

Saya dapat't berbicara CC versi, tapi untuk melihat "tak terlihat" warna yang lebih tua di Photoshop versi anda'll membutuhkan plugin. Pilih salah satu: Photofreebies atau SuperPNG. SuperPNG tampaknya lebih baru dan kurang berantakan.

Mengapa trik ini bekerja? Wallpaper harus menjadi buram karena ada's ada "di belakang" mereka untuk menunjukkan melalui, kan? Dugaan saya adalah bahwa Windows membuang Alpha channel informasi, mengungkapkan tersembunyi nilai RGB dalam proses.

Komentar (8)

Untuk menambah Nihal's jawaban, hal ini dapat direproduksi dengan menggunakan "anti-menghapus" sikat di GIMP. Menghapus sikat dapat menambahkan atau menghapus alpha channel jika gambar menggunakan format yang mendukung, (tahan Alt untuk swap antara menghapus dan anti-menghapus).

Untuk Wordpress, anda dapat melakukan ini: Layer > Split Alpha > Alpha menjadi Topeng. Setelah melakukan itu, anda dapat menyembunyikan atau menghapus Topeng Transparansi 1 channel yang baru saja dibuat dan anda'll melihat gambar penuh.

Sejak Windows latar belakang dapat't memiliki apa-apa di balik itu, it's mungkin hanya pengupasan keluar transparansi dan menampilkan gambar tanpa itu, (cepat dan kotor 32 bit gambar yang ke 24 bit kelihatannya).

Komentar (0)

Satu titik klarifikasi: Ini bukan bug, itu adalah perilaku tertentu dalam png spesifikasi. Khusus spesifikasi menyatakan bahwa jika penampil atau converter tidak dapat memahami keterbukaan atau transparansi adalah tidak tepat untuk konteks atau menggunakan alpha channel dapat diabaikan. Lebih lanjut spesifikasi panggilan untuk semua gambar generator untuk mengatur warna transparan sehingga gambar lebih berguna jika alpha channel diabaikan. (saya parafrase, aku telah beberapa tahun sejak saya baca spec.)

Komentar (1)