Hallo,
ich bekomme beim laden und anpassen eines Bildes eine Fehlermeldung:
zu dem Code komme ich wenn ich (im LogCat) auf:
"07-02 07:27:37.850: E/AndroidRuntime(32682): at com.example.test.Main.teste(Main.java:113)" Klicke:
Das ist meine Methode:
Der Fehler taucht in der Zeile auf:
Auf diese Zeile bring mich diese hier aus dem LogCat:
"07-02 07:27:37.850: E/AndroidRuntime(32682): at com.example.test.Main.passeBildAn(Main.java:186)"
Das bild ist (bisher) nur ein Rechteck und im Anhang zu finden, es ist im drawable-hdpi Ordner abgelegt und hat 25*100 Pixel.
ich bekomme beim laden und anpassen eines Bildes eine Fehlermeldung:
07-02 07:27:37.850: E/AndroidRuntime(32682): FATAL EXCEPTION: Thread-14330
07-02 07:27:37.850: E/AndroidRuntime(32682): java.lang.IllegalArgumentException: width and height must be > 0
07-02 07:27:37.850: E/AndroidRuntime(32682): at android.graphics.Bitmap.createBitmap(Bitmap.java:603)
07-02 07:27:37.850: E/AndroidRuntime(32682): at android.graphics.Bitmap.createBitmap(Bitmap.java:551)
07-02 07:27:37.850: E/AndroidRuntime(32682): at com.example.test.Main.passeBildAn(Main.java:186)
07-02 07:27:37.850: E/AndroidRuntime(32682): at com.example.test.Main.teste(Main.java:113)
07-02 07:27:37.850: E/AndroidRuntime(32682): java.lang.IllegalArgumentException: width and height must be > 0
07-02 07:27:37.850: E/AndroidRuntime(32682): at android.graphics.Bitmap.createBitmap(Bitmap.java:603)
07-02 07:27:37.850: E/AndroidRuntime(32682): at android.graphics.Bitmap.createBitmap(Bitmap.java:551)
07-02 07:27:37.850: E/AndroidRuntime(32682): at com.example.test.Main.passeBildAn(Main.java:186)
07-02 07:27:37.850: E/AndroidRuntime(32682): at com.example.test.Main.teste(Main.java:113)
zu dem Code komme ich wenn ich (im LogCat) auf:
"07-02 07:27:37.850: E/AndroidRuntime(32682): at com.example.test.Main.teste(Main.java:113)" Klicke:
Java:
Bitmap trBild = passeBildAn(BitmapFactory.decodeResource(getResources(),
R.drawable.bild, options), weite, hoehe);
Das ist meine Methode:
Java:
public Bitmap passeBildAn(Bitmap bmp, int weite, int hoehe) {
// neue Weite handy-groeßen-unabhaengig also weite / 3
int newWidth = weite;
// neue Hoehe um gleichen Faktor wie weite verkleinern/vergroeßern
int newHeight = hoehe;
// Werte fuer die Skalierung
float scaleWidth = ((float) newWidth) / bmp.getWidth();
// Man sieht der aufwand mit der neuen Hoehe war unnoetig, da scaleWidth
// gleich scaleHeight
float scaleHeight = ((float) newHeight) / bmp.getHeight();
// Eine Matrix fuer die Manipulation des Bildes
Matrix matrix = new Matrix();
// bitmap skalieren
matrix.postScale(scaleWidth, scaleHeight);
// bitmap neu erstellen
Bitmap resizedBitmap = Bitmap.createBitmap(bmp, 0, 0, (bmp.getWidth()), (bmp.getHeight()),
matrix, true);
return resizedBitmap;
}
Der Fehler taucht in der Zeile auf:
Java:
Bitmap resizedBitmap = Bitmap.createBitmap(bmp, 0, 0, (bmp.getWidth()), (bmp.getHeight()),
matrix, true);
Auf diese Zeile bring mich diese hier aus dem LogCat:
"07-02 07:27:37.850: E/AndroidRuntime(32682): at com.example.test.Main.passeBildAn(Main.java:186)"
Das bild ist (bisher) nur ein Rechteck und im Anhang zu finden, es ist im drawable-hdpi Ordner abgelegt und hat 25*100 Pixel.