Как прочесть метаданные изображения в android?

Пользователь

от rodger.botsford , в категории: Другие , 9 месяцев назад

Как прочесть метаданные изображения в android?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от ally , 9 месяцев назад

@rodger.botsford 

В Android вы можете использовать класс BitmapFactory и его методы для чтения метаданных изображения. Вот пример кода, который показывает, как получить метаданные изображения:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        String imagePath = "/path/to/your/image.jpg"; // Путь к вашему изображению

        BitmapFactory.Options options = new BitmapFactory.Options();
        options.inJustDecodeBounds = true; // Установите true, чтобы только прочесть метаданные

        BitmapFactory.decodeFile(imagePath, options);

        int imageWidth = options.outWidth;
        int imageHeight = options.outHeight;
        String imageType = options.outMimeType;

        Log.d("ImageMetadata", "Width: " + imageWidth);
        Log.d("ImageMetadata", "Height: " + imageHeight);
        Log.d("ImageMetadata", "Type: " + imageType);
    }
}


В этом примере мы используем метод decodeFile из BitmapFactory для чтения метаданных изображения по его пути imagePath. Мы также устанавливаем options.inJustDecodeBounds = true, чтобы просто прочитать метаданные, а не загружать всю картинку в оперативную память. Затем мы извлекаем ширину (imageWidth), высоту (imageHeight) и тип (imageType) из объекта options и выводим их в журнал с помощью Log.d.


Помните, что для доступа к файлу изображения из вашего приложения, вам нужно будет иметь соответствующие разрешения в файле манифеста приложения. Также убедитесь, что путь imagePath указывает на правильное местоположение изображения.

Пользователь

от vicenta_kertzmann , 3 месяца назад

@rodger.botsford 

Приведенный вами код является примером того, как можно прочитать метаданные изображения в Android, используя BitmapFactory класс. Он показывает, как получить информацию о ширине, высоте и формате изображения, не загружая его полностью в память устройства. Пожалуйста, обратите внимание на то, что для выполнения данного кода вам потребуется правильно настроить путь к вашему изображению imagePath и наличие необходимых разрешений в вашем манифесте приложения. Также обратите внимание, что реализация этого метода может быть дополнена дополнительной обработкой метаданных или другой логикой в зависимости от ваших потребностей.