Saya menggunakan libGDX untuk game android; sejauh yang saya tahu, itu tidak memiliki API untuk kabur.
Membaca di Wikipedia, sepertinya blur dibentuk dengan mengatur setiap piksel nilai RGB ke rata-rata semua nilai yang berdekatan. Yang sepertinya tidak mudah dilakukan di libGDX - mengatur data piksel.
Jadi pertanyaan saya sederhana:
Apakah mungkin memalsukan (yang layak) hanya menggunakan gambar?
Saya berpotensi overlay beberapa gambar (dalam jumlah, transparansi, jenis); tapi bisakah saya membuat blur yang meyakinkan seperti ini?
Saya tergoda untuk mengatakan "tidak," tetapi mungkin orang lain telah mencapai hal serupa. Untuk kejelasan, saya ingin satu set gambar generik 1+ saya dapat membuat di atas gambar APA PUN untuk menghasilkan efek seperti blur.
sumber
Jawaban:
Jika Anda dapat secara aduk memadukan gambar dan mengalikannya dengan konstanta saat melakukannya, maka Anda dapat melakukan blur. Alih-alih rata-rata piksel di lingkungan, Anda akan rata-rata beberapa salinan gambar yang dipindahkan oleh sejumlah kecil piksel dari satu sama lain. Atau lebih umum, Anda bisa melakukan blur Gaussian atau jenis blur apa pun, dengan mengendalikan bobot - yaitu, mengalikan setiap salinan gambar yang dipindahkan dengan konstanta saat ditambahkan ke yang lainnya.
Secara algoritmik, tampilannya akan seperti ini:
Anda akan menggunakan offset dan bobot yang sama seperti pada cara standar melakukan blur. Ada banyak artikel di Web tentang cara menghasilkan bobot untuk Gaussian blur, misalnya.
sumber
Kabur bisa menjadi operasi yang mahal, mungkin pendekatan yang berbeda bisa berhasil, misalnya:
sumber