W
wurzel
Neues Mitglied
- 0
Hallo Leute,
Ich versuche gerade Bilder auf meinem HTC darzustellen. Bis jetz ist es mir nicht gelungen dies performant zu tun! Die Bilder haben eine größe von ca 2000x2000px und stehen mir als jpg Dateien zur verfügung. Mein Ziel ist es, dass ich zoomen und rotieren kann.
Zuerzeit hab ich es mit der Einbindung über die BitmapFactory und Transformationen mit einer Matrix.
Jedoch kommt es nach wenigen Drehungen zu einem Abstutz des Programms (VM won't let us allocate xx Bytes).
Codebeispiel:
Jetzt meine Frage: Ist es überhaupt sinnvoll, das so zu lösen? Oder gibts da bessere Alternativen. Ich sehe leider den Wald vor lauter Bäumen nicht 
Denn, dass das ganze richtig flüssig geht, beweist ja die Fotogallerie.
lg Wurzl
Ich versuche gerade Bilder auf meinem HTC darzustellen. Bis jetz ist es mir nicht gelungen dies performant zu tun! Die Bilder haben eine größe von ca 2000x2000px und stehen mir als jpg Dateien zur verfügung. Mein Ziel ist es, dass ich zoomen und rotieren kann.
Zuerzeit hab ich es mit der Einbindung über die BitmapFactory und Transformationen mit einer Matrix.
Jedoch kommt es nach wenigen Drehungen zu einem Abstutz des Programms (VM won't let us allocate xx Bytes).
Codebeispiel:
Code:
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 4;
Bitmap bitmap = BitmapFactory.decodeFile("uni", options);
int width = bitmapOrg.getWidth();
int height = bitmapOrg.getHeight();
int newWidth = 100;
int newHeight = 100;
Bitmap bitmap = BitmapFactory.decodeFile("uni");
float scaleWidth = ((float) newWidth) / width;
float scaleHeight =((float) newHeight) / height;
Matrix matrix = new Matrix();
matrix.postRotate(x);
Bitmap resizedBitmap = Bitmap.createBitmap(bitmap, 0, 0,
width, height, matrix, true);
BitmapDrawable bmd = new BitmapDrawable(resizedBitmap);
ImageView imageView = new ImageView(this);
imageView.setImageDrawable(bmd);
Denn, dass das ganze richtig flüssig geht, beweist ja die Fotogallerie.
lg Wurzl