Schnelles Bitmap-Blur für Android SDK
Die aktuelle Methode zum Schleifen durch Pixel, um Bilder in Android-Anwendungen zu verwischen für größere Bilder. Um diese Ineffizienz anzugehen, zeigt dieser Artikel einen schnelleren Algorithmus, der von Quasimondo bereitgestellt wird, der eine Kombination aus Box Blur und Gaußschen Unschärfe verwendet. Der Algorithmus beinhaltet das Erstellen eines sich bewegenden Farbenstapels beim Durchqueren des Bildes. Es fügt dem Stapel auf der rechten Seite kontinuierlich neue Farbblöcke hinzu und entfernt links die meisten. Die verbleibenden Farben im Stapel werden basierend auf ihrer Position im Stapel eingestellt. Dieser Prozess führt zu einem visuell ansprechenden Unschärfeeffekt, der signifikant schneller als eine reine Gaußsche Unschärfe -Implementierung ist. Farbwerte und berechnet die durchschnittliche Farbe für jedes Pixel basierend auf dem Stapelinhalt. Der Algorithmus durch das Eingabebild zweimal, einmal horizontal und einmal vertikal, um Farbinformationen über den Stapel zu verteilen, um den Unschärfeneffekt zu erzielen. Benutzer haben einen ArrayIndexoutOfBoundSexception bei der Verwendung dieses Algorithmus begegnet. Wie von @Anhonycr in den Kommentaren vorgeschlagen, hat das Ersetzen von Mathematik.abs durch strictmath.abs oder eine alternative Implementierung von ABS dieses Problem für viele gelöst. Der Stack Blur -Algorithmus bietet die folgenden Vorteile:
wesentlich schneller als durch einzelne Pixel. >
Das obige ist der detaillierte Inhalt vonWie kann die Stapelunschärfe die Bitmap-Unschärfe in Android-Apps erheblich beschleunigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!