majed
majed

Reputation: 21

Take image from bitmap and put it in string

I have String bitmap1 that will take compressed image from Bitmap photo, but the problem here and I think the bitmap1 take image from imageview that view token image and not from photo because when I send an image to server it will send small resolution like of imageview, although I set compressing 100

    private void takeImage() {
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        if (intent.resolveActivity(getPackageManager()) != null) {
            startActivityForResult(intent, REQUEST_IMAGE_CAPTURE);
        }
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
            selectedImage = data.getData();
            photo = (Bitmap) data.getExtras().get("data");

            String[] filepath = {MediaStore.Images.Media.DATA};

            Cursor cursor = getContentResolver().query(selectedImage, filepath, null , null , null);
            cursor.moveToFirst();

            int columnIndex = cursor.getColumnIndex(filepath[0]);
            picturePath = cursor.getColumnName(columnIndex);
            cursor.close();

            Bitmap photo = (Bitmap) data.getExtras().get("data");
            imageView = (ImageView) findViewById(R.id.tokenImage);
            imageView.setImageBitmap(photo);

        }
    }

....

ByteArrayOutputStream bao = new ByteArrayOutputStream();
            photo.compress(Bitmap.CompressFormat.JPEG, 100, bao);
            byte[] by = bao.toByteArray();
            bitmap1 = Base64.encodeToString(by, Base64.DEFAULT);

Upvotes: 2

Views: 68

Answers (1)

sarika kate
sarika kate

Reputation: 479

 Try this-   

 Bitmap resized = Bitmap.createScaledBitmap(photo , 600,370, true);
        ByteArrayOutputStream blob = new ByteArrayOutputStream();
        resized.compress(Bitmap.CompressFormat.JPEG, 100, blob);

       String StrBase64 = Base64.encodeToString(blob.toByteArray(), Base64.DEFAULT);

Upvotes: 1

Related Questions