2016-06-26 15 views
8

exifサムネイルをイメージから削除する方法はありますか?イメージからexifサムネイルを削除または更新する

私のアプリで画像を切り取り、すべてのexifデータをsanselanライブラリでロスレスにコピーしています。その後、私はそれに応じて幅/高さ/回転を更新します。

exifサムネイルを更新する方法や削除する方法が見つかりませんでした。

+2

[Camera2アプリのこのコードセット](https://android.googlesource.com/platform/packages/apps/Camera2/+/master)のようなAOSPの完全なExifInterfaceコード/src/com/android/camera/exif/ExifInterface.java)には、EXIFサムネイルを操作するメソッドがあります。 – CommonsWare

+0

私はそれをチェックします。私の最初の一見では、ライブラリは次のコードを使用しているようです:https://github.com/sephiroth74/Android-Exif-Extended ...ストリームでは動作しません。 – prom85

+0

PS:コード私はsanselanクラスに調整することができます... – prom85

答えて

0

は私が

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) { 
     } 
    } 

だから私は、最初にそれのサムネイルを削除

だからuは、サムネイルを削除しようとするとしようとすることができる画像上の操作を行っているEXIFデータの問題の似たようなものを持っています

関連する問題