Как выбрать эскиз изображения из галереи (Android) - PullRequest
0 голосов
/ 08 февраля 2019

Как я могу выбрать эскиз изображения из галереи?Мне нужно маленькое изображение, потому что я должен хранить его в sqlite db.Я пытался изменить большое изображение в миниатюру, прежде чем сохранить его в БД, но он все еще не может прочитать столбец, в котором хранится изображение.

открытый класс MainActivity расширяет AppCompatActivity {

final static int RESULT_LOAD_IMAGE = 1;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button buttonLoadImage = (Button) findViewById(R.id.button1);
    buttonLoadImage.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            Intent gallery = new Intent(Intent.ACTION_PICK, Images.Media.EXTERNAL_CONTENT_URI);
            startActivityForResult(gallery, RESULT_LOAD_IMAGE);
        }
    });
}

// Как я пытался изменить размер изображения:

@ Переопределить защищенный void onActivityResult (int reqCode, intresultCode, данные о намерениях) {super.onActivityResult (reqCode, resultCode, data);

    if (resultCode == RESULT_OK) {
        try {
            final Uri imageUri = data.getData();
            final InputStream imageStream = getContentResolver().openInputStream(imageUri);
            selectedImage = BitmapFactory.decodeStream(imageStream);
            final int THUMBNAIL_HEIGHT = 200;
            final int THUMBNAIL_WIDTH = 200;
            Float width  = new Float(selectedImage.getWidth());
            Float height = new Float(selectedImage.getHeight());
            Float ratio = width/height;
            selectedImage = Bitmap.createScaledBitmap(selectedImage, (int)(THUMBNAIL_HEIGHT*ratio), THUMBNAIL_HEIGHT, false);

            int padding = (THUMBNAIL_WIDTH - selectedImage.getWidth())/2;
            binding.imgView.setPadding(padding, padding, padding, padding);
            binding.imgView.setBackgroundColor(0);
            binding.imgView.setImageBitmap(selectedImage);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
            Toast.makeText(AddRecipe.this, "Something went wrong", Toast.LENGTH_LONG).show();
        }

    }else {
        Toast.makeText(AddRecipe .this, "You haven't picked Image",Toast.LENGTH_LONG).show();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...