Как прикрепить фотографии, которые я делаю, используя камеру, в моем приложении? - PullRequest
1 голос
/ 15 марта 2012

Я разрабатываю приложение, в котором я использую кнопку для загрузки камеры, и мне нужно прикрепить эти фотографии в моем приложении.У меня нет проблем с загрузкой камеры, но я не могу прикрепить те фотографии, которые я сделал с помощью камеры, в своем приложении.Кто-нибудь может дать хорошее решение?

Спасибо (заранее) Света Каульвар.

1 Ответ

2 голосов
/ 15 марта 2012

я делаю это в моем onActivityResult ... я получаю рис из намерения захвата, уменьшаю его размер и добавляю его в список, который позже добавляется в пользовательский listView ... я надеюсь, что это поможет с вашей проблемой

if (resultCode == Activity.RESULT_OK) {

            Bundle extras = intent.getExtras();
            Bitmap bitmap = (Bitmap) extras.get("data");


             int width = bitmap.getWidth();
             Log.i("size width:", String.valueOf(width));
             int height = bitmap.getHeight();
             Log.i("size height:", String.valueOf(height));

             float widthPercent = (float) 0.8;
             float heightPercent = (float) 0.8;

             float newWidth = bitmap.getWidth() * widthPercent;
             float newHeight = bitmap.getHeight() * heightPercent;

             while (newWidth > 250 || newHeight > 250) {

             newWidth = newWidth * widthPercent;
             Log.i("size width:", String.valueOf(newWidth));
             newHeight = newHeight * heightPercent;
             Log.i("size height:", String.valueOf(newHeight));
             }




             // calculate the scale - in this case = 0.4f
             float scaleWidth = ((float) newWidth) / width;
             Log.i("new size width:", String.valueOf(scaleWidth));
             float scaleHeight = ((float) newHeight) / height;
             Log.i("new size height:", String.valueOf(scaleHeight));

             Matrix matrix = new Matrix();

             // resize the bit map
             matrix.postScale(scaleWidth, scaleHeight);

             // recreate the new Bitmap
             Bitmap resizedBitmap = Bitmap.createBitmap(bitmap, 0, 0,
             width, height, matrix, true);

             Log.i("new bitmap width:",
             String.valueOf(resizedBitmap.getWidth()));
             Log.i("new bitmap height:",
             String.valueOf(resizedBitmap.getHeight()));

            App.serviceCallImages.add(resizedBitmap);

            Adapter.notifyDataSetChanged();

            break;
        }

вот код намерения моей камеры

public void OnCameraOpen(View v) {

    if (App.serviceCallImages.size() < 2) {
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

        startActivityForResult(intent, CAPTURE_PICTURE_INTENT);
    } else {
        Toast.makeText(getApplicationContext(),    getString(R.string.MaxPics),
                Toast.LENGTH_SHORT).show();
    }

}
...