Rumah >Java >javaTutorial >Bagaimanakah Kami Boleh Mencapai Kabur Peta Bit Pantas dalam Android?

Bagaimanakah Kami Boleh Mencapai Kabur Peta Bit Pantas dalam Android?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-07 18:40:14729semak imbas

How Can We Achieve Fast Bitmap Blurring in Android?

Kabur Peta Bit Pantas untuk Android

Dalam Android, menggunakan penapis kabur pada imej boleh menjadi proses yang memakan masa, terutamanya untuk imej yang besar . Ini kerana kaedah tradisional melibatkan lelaran melalui setiap piksel imej, yang boleh menjadi mahal dari segi pengiraan.

Memperkenalkan Algoritma Lebih Pantas

Artikel memaparkan algoritma yang lebih pantas daripada pendekatan kabur piksel demi piksel tradisional. Algoritma ini, dialihkan daripada Quasimondo, menggabungkan unsur-unsur kabur kotak dan kabur Gaussian.

Algoritma berfungsi dengan mencipta "timbunan bergerak" warna sambil mengimbas melalui imej. Tindanan ini dikemas kini secara berperingkat, dengan warna baharu ditambahkan pada bahagian kanan dan warna paling kiri dialih keluar. Baki warna di atas tindanan dilaraskan bergantung pada kedudukannya pada tindanan.

Butiran Pelaksanaan

Coretan kod Java yang disediakan melaksanakan algoritma dalam Android. Ia memerlukan tiga parameter:

  • sentBitmap: Peta bit input untuk dikaburkan
  • skala: Faktor skala untuk mengurangkan saiz imej sebelum menggunakan jejari
  • : Jejari kabur yang akan digunakan

Algoritma dibahagikan kepada dua gelung bersarang, satu untuk baris dan satu untuk lajur. Dalam setiap gelung, algoritma mengira penjumlahan warna dan mengemas kininya menggunakan pendekatan tindanan bergerak.

Peningkatan Prestasi

Algoritma ini meningkatkan prestasi kabur dengan ketara berbanding piksel- kaedah dengan piksel. Untuk imej 640x480, algoritma asal mengambil masa 30 saat untuk kabur, manakala algoritma ini mengurangkan masa itu kepada sekitar 5 saat.

Nota

Coretan kod termasuk pembetulan untuk isu ArrayIndexOutOfBoundsException yang mungkin berlaku dalam kes tertentu. Untuk Android 11 dan lebih baharu, pastikan anda menggunakan StrictMath.abs dan bukannya Math.abs untuk mengelakkan pengecualian.

Atas ialah kandungan terperinci Bagaimanakah Kami Boleh Mencapai Kabur Peta Bit Pantas dalam Android?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn