2 Stimmen

Android - Vergrößern eines Bitmaps

Normalerweise lade ich Bilder herunter, die größer sind, und verkleinere sie mit einem Imageview, aber in letzter Zeit versuche ich, mit meinen Apps umzugehen, die auf einer geringeren Netzwerkverbindung nicht funktionieren, also habe ich mich gefragt, wie ich die Größe eines Bildes erhöhen kann, sobald es auf dem Gerät ankommt. Ich habe versucht, die Größe des Bildes zu ändern, sobald es in einer Bildansicht ist, aber die Bildansicht wird nicht größer als das Originalbild. Ich bin mir sicher, dass es einen einfachen Weg gibt, ein Bild auf dem Gerät zu vergrößern, aber ich bin noch nicht darauf gestoßen.

Also.....wie kann ich die Größe eines Bildes erhöhen. Ich möchte es vergrößern und in einer Bildansicht verwenden, aber die Bilder, mit denen ich zu tun habe, sind nur 128X256 und ich möchte sie auf etwa 512X1024 erweitern.

5voto

Nermeen Punkte 15770

Versuchen Sie es mit dieser Methode:

public static Bitmap scaleBitmap(Bitmap bitmapToScale, float newWidth, float newHeight) {   
if(bitmapToScale == null)
    return null;
//get the original width and height
int width = bitmapToScale.getWidth();
int height = bitmapToScale.getHeight();
// create a matrix for the manipulation
Matrix matrix = new Matrix();

// resize the bit map
matrix.postScale(newWidth / width, newHeight / height);

// recreate the new Bitmap and set it back
return Bitmap.createBitmap(bitmapToScale, 0, 0, bitmapToScale.getWidth(), bitmapToScale.getHeight(), matrix, true);  } 

siehe meine Antwort in: ImageView OutofMemoryException

2voto

Raghu Nagaraju Punkte 3262

Verwenden Sie die Matrix, um die Größe der Bitmap zu ändern.

Prüfen Sie dies Größe der Bitmap ändern

0voto

Jave Punkte 31220

Wenn Sie die Bitmap manuell skalieren wollen, gibt es eine Bitmap.createScaledBitmap() Methode, die Sie dafür verwenden können.
Wenn Sie möchten, dass die ImageView dies handhabt, müssen Sie die layout_width / layout_height auf etwas anderes als wrap_content oder es wird immer auf die Größe der Bitmap verkleinert. Dann müssen Sie die scaleType Attribut auf einen Typ setzen, der die Bitmap tatsächlich skaliert.

0voto

Panini Luncher Punkte 620

Die Funktion zum Vergrößern oder Verkleinern von Bildern ist über die Android.graphics-Bibliothek ohne weiteres verfügbar:

Bitmap bitmapScaled = Bitmap.createScaledBitmap(Bitmap bitmapOrig, int widthNew, int heightNew, boolean filter);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X