Вы можете попробовать: где путь является адресом фотографии на вашем телефоне.
public Bitmap getImage(String path) {
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeFile(path, options);
int srcWidth = options.outWidth;
int srcHeight = options.outHeight;
int[] newWH = new int[2];
newWH[0] = srcWidth/2;
newWH[1] = (newWH[0] * srcHeight)/srcWidth;
int inSampleSize = 1;
while (srcWidth/2 >= newWH[0]) {
srcWidth /= 2;
srcHeight /= 2;
inSampleSize *= 2;
}
// float desiredScale = (float) newWH[0]/srcWidth;
// Decode with inSampleSize
options.inJustDecodeBounds = false;
options.inDither = false;
options.inSampleSize = inSampleSize;
options.inScaled = false;
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
Bitmap sampledSrcBitmap = BitmapFactory.decodeFile(path, options);
Matrix matrix = new Matrix();
int newh = (srcWidth * sampledSrcBitmap.getHeight())
/sampledSrcBitmap.getWidth();
Bitmap r = Bitmap.createScaledBitmap(sampledSrcBitmap, srcWidth, newh,
true);
Bitmap resizedBitmap = Bitmap.createBitmap(r, 0, 0, srcWidth, newh,
matrix, true);
return resizedBitmap;
}
Это может не ответить на исходный вопрос. Но в android вы также можете уменьшить размер изображения до требуемых размеров. См. Http://developer.android.com/reference/android/graphics/Bitmap.html#createScaledBitmap(android.graphics.Bitmap, int, int, boolean) –
Используйте сжатие Jpeg, уменьшите размер до примерно 100x100 и сохраните только 10 предметов за раз, снова запросите дополнительные предметы. –