Android уменьшить размер изображения - PullRequest
0 голосов
/ 24 ноября 2010

Если на моем телефоне есть изображение, которое я хочу отправить на сервер размером 1 МБ или выше, я хочу взять это изображение и уменьшить его до меньшего размера, не мешая при этом оригинальному изображению.Я знаю, как получить с телефона, и я также знаю, как отправить его на сервер, мне просто нужно знать, как уменьшить изображение, потому что большие файлы размером более 1 МБ вызывают проблемы.

Ответы [ 2 ]

1 голос
/ 24 ноября 2010

Вы можете масштабировать растровые изображения следующим образом:

// Load in your bitmap here, I'll leave this detail up to you
Bitmap _bitmapPreScale = BitmapFactory.decodeResource(resources, fieldValue); 

int oldWidth = _bitmapPreScale.getWidth();
int oldHeight = _bitmapPreScale.getHeight();
int newWidth = width;  // whatever your desired width and height are
int newHeight = height;

// calculate the scale
float scaleWidth = ((float) newWidth) / oldWidth;
float scaleHeight = ((float) newHeight) / oldHeight;

// create a matrix for the manipulation
Matrix matrix = new Matrix();
// resize the bit map
matrix.postScale(scaleWidth, scaleHeight);

// recreate the new Bitmap
Bitmap _bitmapScaled = Bitmap.createBitmap(_bitmapPreScale, 0, 0,  oldWidth, oldHeight, matrix, true);
0 голосов
/ 30 ноября 2010

Из вашего оригинального растрового изображения вы можете использовать createScaledBitmap(...) Однако трудность может заключаться в том, чтобы открыть большое изображение в первую очередь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...