Gambar & foto · Konverter & Kompresor Gambar
Apa yang terjadi pada transparansi saat Anda mengonversi PNG menjadi JPEG
· Cara kerjanya
format gambar transparansi kanvas
JPEG tidak memiliki saluran alfa, jadi piksel transparan harus menjadi sesuatu selama konversi, dan aturan browser adalah menggabungkannya menjadi hitam. Postingan ini menjelaskan alfa, langkah pengomposisian, dan cara menjaga transparansi dengan memilih WebP atau PNG sebagai gantinya.
Potongan produk yang berubah menjadi kotak hitam — hasil konversi yang mengejutkan hampir semua orang untuk pertama kalinya
Potongan produk dapat dihasilkan dari konversi JPEG yang dikelilingi oleh persegi panjang padat. Dalam alat ini persegi panjang tidak dipaksa menjadi hitam: denahnya membawa warna latar belakang, panel fokus memulainya dengan warna putih, dan `renderPlan` mengisi seluruh kanvas sebelum menggambar bitmap. Oleh karena itu, keluarannya mencerminkan pilihan pengguna yang terlihat, bukan cadangan browser yang tidak terdokumentasi.
Reproduksi terbitan dengan salinan sumbernya dan catat matte yang dipilih. Jika blok hitam muncul setelah memilih putih, bandingkan file unduhan sebenarnya dengan tahap pemrosesan selanjutnya sebelum menyalahkan konversi. Peringatan ToolAcre mencakup warna yang ditempatkan di belakang piksel transparan, sehingga rencana dapat diaudit sebelum pembuat enkode JPEG menerima kanvas.
Persegi panjang padat yang mengejutkan bisa berupa matte apa pun yang dipilih; ToolAcre defaultnya adalah putih, bukan hitam
Transparansi direpresentasikan dalam permukaan piksel yang didekodekan sebagai opasitas bersama warna. Tabel format produk mencatat bahwa keluaran PNG dan WebP mendukung alfa sedangkan JPEG tidak. Itu adalah pernyataan kemampuan penyandian: dekoder masukan juga menerima GIF, tetapi GIF hanya untuk dekode dan hanya menyumbang satu bingkai diam. Dukungan baca dan dukungan tulis tidak boleh digabung menjadi satu daftar.
Nilai alfa memungkinkan latar depan yang sama menyatu dengan latar belakang halaman yang berbeda setelah diekspor. Setelah piksel diratakan menjadi matte, fleksibilitas tersebut hilang karena JPEG yang disimpan berisi warna buram biasa. Mengonversi JPEG kembali ke PNG akan membuat penampung berkemampuan alfa, namun tidak dapat menyimpulkan piksel mana yang sebelumnya transparan atau memisahkannya dari latar belakang yang dipilih.
Mengapa JPEG tidak dapat menampung transparansi — format yang dirancang untuk foto tanpa gagasan 'tidak ada apa pun di sini'
Keluaran JPEG tidak memiliki saluran alfa dalam fakta format ToolAcre, jadi keluaran yang lengkap memerlukan warna di setiap piksel. Rencana konversi menyediakan warna tersebut dan penyaji melukiskannya ke seluruh tujuan sebelum piksel sumber apa pun digambar. Urutan ini memastikan daerah yang sepenuhnya transparan menjadi batas matte dan sebagian transparan menyatu melalui komposisi kanvas normal.
Pilih warna matte berdasarkan tempat JPEG akan muncul. Halaman katalog berwarna putih lebih menyukai warna putih; slide gelap lebih menyukai latar belakang gelap sebenarnya. Jika latar belakang tujuan dapat berubah, JPEG adalah hasil yang salah karena keputusan akan dibuat terlalu dini. PNG atau WebP menjaga saluran alfa tetap tersedia untuk tata letak selanjutnya.
Aturan pengomposisian yang diikuti browser — wilayah transparan dipadukan ke latar belakang hitam pekat sebelum pengkodean JPEG, berdasarkan spesifikasi
Buku kerja menjelaskan pengomposisian hitam sebagai aturan spesifikasi browser, namun implementasinya secara eksplisit mencegah pengisian yang bergantung pada browser secara tidak sengaja. `fillRect` menggunakan `plan.background`, dan panel menampilkan masukan warna hanya jika format yang dipilih tidak memiliki alfa. Koreksinya penting: memberi tahu pengguna bahwa warna hitam tidak dapat dihindari akan menyembunyikan kontrol yang dibuat khusus untuk menghindari kejutan tersebut.
Bidang matte bukanlah metadata dekoratif. Ini mengubah warna piksel yang dikirim ke JPEG dan harus disertakan dalam catatan konversi yang dapat direproduksi bersama format dan kualitas. Tangkapan layar keluarannya saja dapat membuat matte gelap yang disengaja terlihat seperti kerusakan. Menangkap denah menjelaskan apakah persegi panjang tersebut berasal dari latar belakang yang dipilih atau dari pemirsa berikutnya.
ToolAcre mengisi transparansi dengan latar belakang yang dipilih pengguna sebelum JPEG pengkodean
Tepi antialias yang lembut mengandung piksel yang sebagian transparan, bukan sekadar topeng aktif atau nonaktif. Warna akhirnya bergantung pada matte di bawahnya selama komposisi. Pinggiran pucat pada tujuan yang gelap dapat terjadi jika suatu benda diratakan terlebih dahulu dengan warna putih; mengubah halaman nanti tidak dapat menghitung ulang piksel batas campuran tersebut dari JPEG buram.
ToolAcre tidak mengekspos buffer alfa yang telah dikalikan sebelumnya atau menjanjikan representasi dekoder tingkat rendah tertentu, sehingga pemeriksaan berbasis bukti bersifat visual. Ekspor logo yang sama dengan dua warna matte yang sangat berbeda dan bandingkan konturnya pada ukuran asli. Jika aset harus berfungsi pada kedua latar belakang, pertahankan alfa daripada mencari satu sisi JPEG yang dikompromikan.
Hasil tepi lembut harus dibandingkan dengan hasil matte yang dipilih; internal praperkalian tidak diekspos
Gunakan logo transparan dengan bayangan lembut. Pertama pilih putih dan ekspor JPEG; lalu pilih warna hijau tua dan ekspor JPEG lainnya. Bidang transparan harus menjadi setiap warna yang dipilih, sementara bayangan menyatu ke dalamnya. Ekspor juga salinan PNG dan WebP dengan ukuran tidak berubah, lalu letakkan di atas blok uji terang dan gelap dalam penampil yang sadar gambar.
Rute PNG menggunakan encoder lossless dan menjaga transparansi. Rute WebP menjaga transparansi namun tetap lossy sesuai dengan format data aplikasi, bahkan pada kualitas 100. Salinan JPEG tentu buram. Tidak ada peringkat ukuran file tetap yang ditetapkan karena browser mengukur byte yang disandikan sebenarnya dan konten menentukan hasilnya.
Apa yang tidak tercakup dalam hal ini — memilih warna latar belakang khusus, transparansi animasi, dan masker bergaya 1-bit GIF
Alur kerja ini mencakup warna latar belakang khusus—kerangka asli salah mengecualikannya. Itu tidak mempertahankan animasi GIF, memberikan keluaran GIF atau menawarkan editor topeng satu bit khusus. Masukan GIF didekodekan sebagai satu bingkai diam dan menerima aturan format tujuan yang sama dengan masukan lain yang diterima.
Itu juga tidak menghapus latar belakang berwarna yang sudah ada sebelumnya dari sumber buram. Pelestarian alfa hanya membantu ketika transparansi mencapai decoder. Jika sumber sudah berisi persegi panjang putih, mengekspor ke PNG tidak dapat membuat ulang transparansi yang hilang. Tugas tersebut memerlukan penghapusan latar belakang yang disengaja di editor, bukan konversi format.
Warna latar belakang khusus diterapkan dan termasuk dalam cakupan
Transparansi hanya bisa bertahan jika ada destinasi yang bisa mewakilinya. ToolAcre menjadikan alternatifnya eksplisit: JPEG mendapatkan matte yang dipilih, sementara PNG dan WebP mempertahankan alfa berdasarkan perilaku pembuat enkode yang terdokumentasi. Baca peringatan sebelum konversi karena ini menjelaskan keputusan piksel satu arah, bukan preferensi tampilan yang dapat dibalik.
Pertahankan aset transparan asli sebagai master. Buat salinan JPEG hanya setelah latar belakang akhir diketahui, dan periksa tepi lembut pada warna tersebut. Hal ini menjaga sumber fleksibel sekaligus memberi penerima file buram yang dapat mereka buka, tanpa berpura-pura bahwa konversi selanjutnya dapat memulihkan alfa yang sengaja diratakan.