Bagaimana cara menerapkan anti-aliasing ke layer dengan latar belakang transparan?

12

Saya memiliki satu lapisan dengan beberapa piksel hitam di tengah dan latar belakang transparan.

Jika saya menambahkan latar belakang putih buram di bawahnya, gabungkan keduanya, dan kemudian klik "Antialias" dari menu "Filter", itu dengan benar menghasilkan piksel abu-abu yang sesuai. Namun, saya bermaksud menggunakan gambar ini di atas latar belakang yang dinamis, jadi saya tidak bisa menggunakan anti-alias terhadap warna tertentu, tetapi jika saya tidak menambahkan lapisan buram latar belakang dan hanya menggunakan filter Antialias, tidak ada yang terjadi. Harapan saya adalah bahwa piksel semi-transparan akan dihasilkan, sehingga akan menjadi anti-alias dengan latar belakang yang berbeda.

Apakah ada cara untuk mencapai ini atau saya mencoba melakukan sesuatu yang salah?

Smig
sumber
1
Bisakah Anda memberikan tangkapan layar dari apa yang Anda coba lakukan?
JohnB

Jawaban:

5

Saya masih belum menguji ini, tapi saya pikir saya menemukan solusinya. Dalam memecahkan masalah lain, saya jadi tahu opsi "Color to Alpha", yang tampaknya persis apa yang dibutuhkan di sini. Saya pikir saya bisa mendapatkan Antialiasing seperti biasa terhadap satu warna tertentu dan kemudian menggunakan Color to Alpha untuk mengubah warna menjadi berbagai tingkat transparansi. Ini akan bekerja dengan baik pada lapisan sederhana dengan warna yang sangat sedikit, dan mungkin akan bermasalah dalam pola yang lebih sibuk, tetapi setidaknya sesuai dengan kebutuhan saya sendiri.

Smig
sumber
Pemikiran yang bagus, Smig. kenapa aku tidak memikirkan ini? Bagaimanapun, terima kasih untuk masalah saya yang sangat lama. Mungkin seseorang harus meminta pengembang gimp untuk memperbaikinya (atau memperbaiki filter)?
e-motiv
1

Saya telah menyiasatinya dengan memilih kotak di sekitar item yang ingin saya antialias dengan batas 5 piksel. Kemudian saya mengisi area transparan dengan warna yang berbeda dari item yang saya modifikasi, tetapi atur opacity isian ke 1. Biarkan kotak saat ini pilih dan lakukan filter antialias. Kemudian gunakan alat pilih fuzzy (dengan ambang batas yang ditetapkan ke 0) dan pilih area isian, yang harus memilih semuanya hingga bagian antialias baru. Kemudian hapus pilihan Anda.

Bagi saya, saya memiliki latar belakang warna solid. Jadi saya akan memilih warna warna latar belakang, kemudian menyesuaikan saturasi atau nilai dengan 1 di pemilih warna, kemudian mengisi area transparan dengan warna itu. Ini memaksa antialias untuk menggunakan warna transparan dengan nilai yang hampir sama ketika melakukan perhitungan, jadi seperti Anda antialiasing dengan transparansi penuh (hampir).

Saya perhatikan ini bekerja dengan baik dengan hitam atau putih (opacity 1) sebagai warna isi, tetapi sedikit menyesuaikan antialias menjadi lebih terang atau lebih gelap dari warna item saya. Bukan masalah besar, tetapi efeknya lebih bersih jika Anda menggunakan warna isi lebih dekat ke warna tepi item Anda.

Demikian pula, jika Anda menggunakan warna isi merah di sekitar warna non-merah (biru / hijau / dll), antialias akan menggunakan warna merah saat menerapkan antialias. Yang biasanya tidak diinginkan.

pengguna2106060
sumber