【问题标题】:Loaded bitmap has smaller size than the source png加载的位图尺寸小于源 png
【发布时间】:2013-03-17 15:19:30
【问题描述】:

我有一个 280 × 558 像素的 png 图像。但是当我用

加载它时
BitmapFactory.decodeResource(getResources, R.drawable.image_name)

创建的Bitmap大小为186 × 371。

Nexus 7 使用 drawable-large-xhdpi 文件夹中的图像会发生这种情况。 ldpi 和 mdpi 设备将各自的图像正确加载到 drawable-ldpi 和 drawable-mdpi 中。

为什么会这样?

【问题讨论】:

    标签: android bitmap png pixel


    【解决方案1】:

    Nexus 7 不是 xhdpi,它会将图像从 hdpi 缩放到 tvdpi

    谷歌 Nexus 7 | 4.1 | tvdpi(但会缩减您的 hdpi 资产

    见:http://blog.blundellapps.com/list-of-android-devices-with-pixel-density-buckets/

    要加载不缩放的图像,请使用 BitmapFactory.Options 的 inScaled 选项。使用这些选项,您还可以缩放到不同的 dpi。

    见:http://developer.android.com/reference/android/graphics/BitmapFactory.Options.html#inScaled

    【讨论】:

    • 但它很大。它使用 drawable-large-xhdpi 中的图像而不是 drawable-hdpi 中的图像
    • @kepa,这家伙说的完全正确。 Nexus 7 使用来自 HDPI 的图像并将它们缩放到 TVDPI。你得到的尺寸是缩放后的尺寸。
    • 有什么方法可以在不缩放的情况下加载图像,或者我需要在其他图像中添加更大的图像以获得所需的大小?
    • 我终于将可绘制文件夹的名称从密度更改为大小。我没有使用drawable-ldpi、-mdpi、-hdpi和xhdpi,而是使用drawable-small、-normal、-large和-xlarge。这样图像就不会被缩放
    猜你喜欢
    • 2010-12-26
    • 1970-01-01
    • 2015-01-27
    • 1970-01-01
    • 1970-01-01
    • 2014-07-03
    • 1970-01-01
    • 2016-06-01
    • 1970-01-01
    相关资源
    最近更新 更多