如何使用带有arcore的Android获取以mm为单位的真实图片尺寸

Posted

技术标签:

【中文标题】如何使用带有arcore的Android获取以mm为单位的真实图片尺寸【英文标题】:How to get the real picture size in mm using Android with arcore 【发布时间】:2022-01-21 19:12:42 【问题描述】:

我想用android中的arcore将图片的宽高以像素为单位转换为毫米,我该怎么做呢?

【问题讨论】:

【参考方案1】:

试试这个,

fun getImageWidthAndHeight(context: Context, uri: Uri): Pair<Float, Float> 
    val exif = try 
        context.contentResolver.openInputStream(uri)?.let 
            ExifInterface(it)
         ?: return 0f to 0f
     catch (e: FileNotFoundException) 
        return 0f to 0f
    

    val width = exif.getAttributeInt(ExifInterface.TAG_IMAGE_WIDTH, 0).toFloat()
    val height = exif.getAttributeInt(ExifInterface.TAG_IMAGE_LENGTH, 0).toFloat()

    return when (
        exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL)
    ) 
        ExifInterface.ORIENTATION_ROTATE_90, ExifInterface.ORIENTATION_ROTATE_270 -> height to width
            else -> width to height
    

...
val (width, height) = getImageWidthAndHeight(context, uri)

【讨论】:

以上是关于如何使用带有arcore的Android获取以mm为单位的真实图片尺寸的主要内容,如果未能解决你的问题,请参考以下文章