2016-06-26 23 views
8

Gibt es trotzdem ein Exif-Thumbnail aus einem Bild zu entfernen?Exif-Thumbnail aus Bild entfernen oder aktualisieren

Ich schneide Bilder in meiner App und kopiere alle exif Daten verlustfrei mit der Sanselan Bibliothek. Danach aktualisiere ich Breite/Höhe/Drehung entsprechend.

Ich konnte keine Möglichkeit finden, das Exif-Thumbnail zu aktualisieren oder es zu entfernen, irgendwelche Ideen, wie man das macht?

+2

Der vollständige 'ExifInterface' Code aus dem AOSP, wie [dieser Code in der Camera2 App] (https://android.googlesource.com/platform/packages/apps/Camera2/+/master /src/com/android/camera/exif/ExifInterface.java), verfügt über Methoden zum Arbeiten mit EXIF-Miniaturansichten. – CommonsWare

+0

Ich werde das überprüfen. Bei meinem ersten Blick scheint folgende Bibliothek den gleichen Code zu verwenden: https: //github.com/sephiroth74/Android-Exif-Extended ... Funktioniert aber nicht mit Streams ... – prom85

+0

PS: Ich denke, in die Code kann ich das an Sanselan Klassen anpassen ... – prom85

Antwort

0

Ich habe ähnliche Art von Problem der EXIF-Daten

private void removeThumbnails(ContentResolver contentResolver, long photoId) { 
     try { 
      Cursor thumbnails = contentResolver.query(
        MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI, null, MediaStore.Images.Thumbnails.IMAGE_ID 
          + "=?", new String[]{String.valueOf(photoId)}, null); 
      if (thumbnails != null) { 
       for (thumbnails.moveToFirst(); !thumbnails.isAfterLast() && !thumbnails.isBeforeFirst(); thumbnails.moveToNext()) { 

        long thumbnailId = thumbnails.getLong(thumbnails.getColumnIndex(MediaStore.Images.Thumbnails._ID)); 
        String path = thumbnails.getString(thumbnails.getColumnIndex(MediaStore.Images.Thumbnails.DATA)); 
        File file = new File(path); 
        if (file.delete()) { 
         contentResolver.delete(MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI, MediaStore.Images.Thumbnails._ID + "=?", 
           new String[]{String.valueOf(thumbnailId)}); 
        } 
       } 
       thumbnails.close(); 
      } 
     } catch (Exception e) { 
     } 
    } 

So habe ich die Miniatur es zuerst, dann die Operation auf dem Bild gemacht entfernt

So u können versuchen, die Vorschau zu entfernen und versuchen, crop it nach