Страница 1 из 1

Настройки фото

Добавлено: 31 мар 2012, 07:52
andev
Получаю фото вот так

Код: Выделить всё

private void chooseMyPhoto() {
		Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
		startActivityForResult(cameraIntent, CAMERA_RESULT);
	}

@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
	    if (requestCode == CAMERA_RESULT) {
	        Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
	        ImageView iv_my_photo_sample = (ImageView) findViewById(R.id.iv_my_photo_sample);
	        iv_my_photo_sample.setImageBitmap(thumbnail);
	        
	        photoByteSequence = mobi.krona.utils.Utils.serializeBitmapToString(thumbnail);
	        
	        saveSettings();
	    }	    
	}
Фотка выходит 5Mp, максимальное разрешение камеры в аппарате.
Как можно получить фотку, как для контакта (квадратную и маленького разрешения)?
Буду крайне признателен.

Re: Настройки фото

Добавлено: 02 апр 2012, 09:52
damager82
Через Matrix можно

Код: Выделить всё

	public Bitmap getResizedBitmap(Bitmap bm, int newHeight, int newWidth) {
		int width = bm.getWidth();
		int height = bm.getHeight();
		float scaleWidth = ((float) newWidth) / width;
		float scaleHeight = ((float) newHeight) / height;
		// CREATE A MATRIX FOR THE MANIPULATION
		Matrix matrix = new Matrix();
		// RESIZE THE BIT MAP
		matrix.postScale(scaleWidth, scaleHeight);
		// RECREATE THE NEW BITMAP
		Bitmap resizedBitmap = Bitmap.createBitmap(bm, 0, 0, width, height,
				matrix, false);
		return resizedBitmap;
	}

http://thinkandroid.wordpress.com/2009/ ... -a-bitmap/

Re: Настройки фото

Добавлено: 02 апр 2012, 11:55
andev
Спасибо, это я находил, однако хотелось бы как в стандартном процессе выбора фото контактов
1) съемка камерой
2) показывает квадратную область которую мы хотим вырезать из фотки (можно зумить и перемещать)
3) после выбора клацаем Save, камера закрывается и мы в onActivityResult получаем ту маленькую область,выбранную нами

Но это в идеале, а так все равно спасибо

Re: Настройки фото

Добавлено: 02 апр 2012, 12:32
andev
Только что выяснилась шокирующая подробность.
Мой код из первого поста возвращает фотку 160*120 пикселей!
с одной стороны это хорошо, не надо зумить, достаточно только обрезать 160 по 20 пикселей с двух сторон, но с другой стороны я не люблю, когда что-либо происходит для меня непонятно как.

Какие еще варианты есть получения фото с камеры кроме кода, предложенного мной?