引言

一、Android图片处理基础

1. 图片格式与MIME类型

2. 图片加载与解码

BitmapFactory.Options decodeOptions = new BitmapFactory.Options();
decodeOptions.inJustDecodeBounds = true;
BitmapFactory.decodeFile(imagePath, decodeOptions);

3. 图片分辨率与屏幕适配

Android系统中有多种屏幕分辨率,开发者需要根据实际情况进行屏幕适配。可以通过获取屏幕参数,如屏幕大小、分辨率、PPI等,来适配不同分辨率的屏幕。

二、Android图片处理技巧

1. 图片压缩

Bitmap bitmap = BitmapFactory.decodeFile(imagePath);
bitmap.compress(Bitmap.CompressFormat.JPEG, quality, outputStream);

2. 图片旋转与裁剪

Matrix matrix = new Matrix();
matrix.postRotate(90); // 旋转90度
bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);

Canvas canvas = new Canvas(bitmap);
Rect rect = new Rect(0, 0, 200, 200); // 裁剪区域
canvas.clipRect(rect);

3. 图片滤镜效果

ColorFilter colorFilter = new PorterDuffColorFilter(0xFF000000, PorterDuff.Mode.DST_IN);
bitmap.setColorFilter(colorFilter);

三、Android图片处理常见问题及解决方案

1. 图片加载失败

  • 检查网络连接是否稳定;
  • 验证图片文件是否完整;
  • 确保文件路径正确。

2. 图片解码异常

  • 使用合适的图片格式,如Bitmap.CompressFormat.JPEG
  • 适当调整图片尺寸,减小内存占用;
  • 在解码前,先获取图片尺寸信息。

3. 图片内存泄漏

  • 使用弱引用WeakReference存储图片;
  • 及时回收不再使用的图片;
  • 在Activity或Fragment销毁时,释放图片资源。

总结