Heim > Java > javaLernprogramm > Warum ist mein Java-Bitmap-Puffer nach der Verwendung von copyPixelsToBuffer mit Nullen gefüllt?

Warum ist mein Java-Bitmap-Puffer nach der Verwendung von copyPixelsToBuffer mit Nullen gefüllt?

DDD
Freigeben: 2024-11-05 09:06:02
Original
463 Leute haben es durchsucht

Why is my Java bitmap buffer filled with zeros after using copyPixelsToBuffer?

Java-Bitmap in Byte-Array: Pufferproblem lösen

Beim Versuch, eine Java-Bitmap in ein Byte-Array zu konvertieren, stoßen einige Benutzer auf ein Besonderes Problem, bei dem der Puffer nach dem Kopieren der Pixel mit der Methode copyPixelsToBuffer nur Nullen enthält. Trotz der Unveränderlichkeit der von der Kamera zurückgegebenen Bitmap wirft dieses unerwartete Ergebnis Bedenken hinsichtlich der Genauigkeit des Codes auf.

Um dieses Problem zu beheben, sollten Sie einen alternativen Ansatz in Betracht ziehen:

<code class="java">Bitmap bmp = intent.getExtras().get("data");
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
bmp.recycle();</code>
Nach dem Login kopieren

In diesem überarbeiteten Code Anstatt die Pixel direkt in einen Puffer zu kopieren, verwenden wir ByteArrayOutputStream, um die Bitmap in ein PNG-Format (mit einer Qualitätsstufe von 100) zu komprimieren. Dieser Prozess generiert ein Byte-Array, das die Daten der Bitmap enthält. Darüber hinaus gibt der Code die Ressourcen der Bitmap frei, indem er die Recycle-Methode aufruft, um Speicherlecks zu verhindern.

Das obige ist der detaillierte Inhalt vonWarum ist mein Java-Bitmap-Puffer nach der Verwendung von copyPixelsToBuffer mit Nullen gefüllt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage