- Forum-Beiträge: 18
13.07.2015, 19:03:23 via Website
13.07.2015 19:03:23 via Website
Hallo Leute,
in meiner App lade ich Bilder aus meiner Gallery und speicher die Uri in einer Datenbank, um sie später wieder aufzurufen und die Bilder an anderer Stelle erneut darzustellen.
Folgendes Problem tritt jetzt auf:
W/OpenGLRenderer﹕ Bitmap too large to be uploaded into a texture (4160x3120, max=4096x4096)
Gibt es eine möglichkeit die Bilder zu komprimieren beim Laden und wann muss ich das dann machen?
Oder gibt es die Möglichkeit die Bilder in die App komprimiert zu laden und dann weiterzuverwenden.
Hier mein bestender Quellcode dazu:
uebImageMainUri.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(intent, 0);
}
});
}
public void onActivityResult(int reqCode, int resCode, Intent data){
if(resCode == RESULT_OK){
if(resCode == Activity.RESULT_OK && data != null){
String realPath="";
String wholeID = DocumentsContract.getDocumentId(data.getData());
// Split at colon, use second item in the array
String id = wholeID.split(":")[1];
String[] column = { MediaStore.Images.Media.DATA };
// where id is equal to
String sel = MediaStore.Images.Media._ID + "=?";
Cursor cursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
column, sel, new String[]{ id }, null);
int columnIndex = cursor.getColumnIndex(column[0]);
if (cursor.moveToFirst()) {
realPath = cursor.getString(columnIndex);
}
cursor.close();
imageMain = Uri.fromFile(new File(realPath));
uebImageMainUri.setImageURI(imageMain);
}
}
}
Wenn ich die Bilder wieder aufrufe sieht das so aus:
uebImageMainUri = (ImageView) findViewById(R.id.ivMainUeb);
uebImageMainUri.setImageURI(dbHelper.uebList.get(uebPosition).get_imageMainUri());
Ich hoffe ihr habt eine Idee für mich.
Grüße
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.