如何提高Android上的图像分辨率

时间:2016-08-29 07:50:48

标签: android xml image android-studio resolution

我已将一张3000 x 3000像素的图片上传到Android工作室。

当我尝试将图像添加到我的应用程序时,图像看起来不太清晰。

enter image description here

这是我的XML代码

 <ImageView
   android:layout_width="match_parent"
   android:layout_height="200dip"
   android:scaleType="fitCenter"
   android:contentDescription=""
   android:layout_marginTop="20dip"
   android:layout_marginBottom="28dip"
   android:src="@mipmap/login_logo" />

我相信我的图片应该足够大,可以用于图像视图。谁能告诉我如何提高图像的分辨率?

更新

当我上传图像时,系统会自动创建4个不同版本的图像

enter image description here

2 个答案:

答案 0 :(得分:2)

问题是你正在创建一个图标集,实际上没有3000乘3000像素。检查一下。

应用程序正在使用更合适的大小(hdpi,xhdpi等)。但是你手动调整大小。这就是为什么屏幕上的图标不清晰的原因。

创建手动图像资源时,这是实际大小,具体取决于屏幕大小。协助者拍摄原始图像并对其进行调整。

ldpi (low) ~120dpi
mdpi (medium) ~160dpi
hdpi (high) ~240dpi
xhdpi (extra-high) ~320dpi
xxhdpi (extra-extra-high) ~480dpi
xxxhdpi (extra-extra-extra-high) ~640dpi

以像素为单位:

36x36 (0.75x) for low-density
48x48 (1.0x baseline) for medium-density
72x72 (1.5x) for high-density
96x96 (2.0x) for extra-high-density
144x144 (3.0x) for extra-extra-high-density
192x192 (4.0x) for extra-extra-extra-high-density

您可以按照以下说明解决此问题,创建自定义图像资源:

LDPI - 0.75x
MDPI - Original size you want to show
HDPI - 1.5x
XHDPI - 2.0x
XXHDPI - 3x
XXXHDPI - 4.0x
  

https://developer.android.com/guide/practices/screens_support.html

或者您可以使用外部库(如Picasso)来加载原始图像并使其适合。只要您可以动态适应,使用占位符,错误图像等,结果将更加专业。

  

https://www.google.es/?ion=1&espv=2#q=picasso%20android

Picasso.with(getActivity())
    .load(new File("path-to-file/file.png"))
    .into(imageView);

答案 1 :(得分:1)

我建议在onCreate()函数中使用一个方法。它使用BitmapFactory加载您的图片

Options options = new BitmapFactory.Options();
options.inScaled = false;
Bitmap source = BitmapFactory.decodeResource(a.getResources(), path, options);
ImageView mImg;
mImg = (ImageView) findViewById(R.id.imageView);
mImg.setImageBitmap(source);