如何使用原生相机拍照,将其裁剪为平方,然后将其作为ParseFile上传到Parse.com?

时间:2015-09-04 14:33:23

标签: android parse-platform upload camera android-camera-intent

如何使用原生手机相机拍照,然后将其裁剪为方形,并将其作为ParseFile上传到Parse.com。 解析中的表的名称是“Gallery”,并且必须保存的列的名称是“photo”。 任何人都可以帮助我。

P.S。我根本不需要将图片保存到手机中,只需将其上传到解析然后丢弃即可!

提前致谢!

2 个答案:

答案 0 :(得分:1)

ImageView img = (ImageView)findViewById(R.id.img);
Bitmap bmp = image;
int w = bmp.getWidth();
int h = bmp.getHeight();
Matrix mtx = new Matrix();
Bitmap bmp2 = Bitmap.createBitmap(bmp, 0, 0, w, h, mtx, true);
BitmapDrawable bmd = new BitmapDrawable(bmp2);
img.setImageDrawable(bmd);

我认为我之前已经这样做过了......我不得不一次使用解析一个项目而且正在搞乱位图。希望这有助于

答案 1 :(得分:0)

好的谢谢你,但在找了一段时间后我找到了解决方案。 如果有人在将来需要它,那就是它。 这是您拍照的方式,并将其上传到Parse.com而不将其保存到设备中。

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

            img = (ImageView) findViewById(R.id.imgV);

            Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
(mFile));
            startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);

        }


        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            byte[] image_byte_array;
                  ParseObject post_object = new ParseObject("Gallery");
                Bundle extras = data.getExtras();
                Bitmap image = (Bitmap) extras.get("data");
                ByteArrayOutputStream stream = new ByteArrayOutputStream();
                image.compress(Bitmap.CompressFormat.JPEG, 100, stream);
                image_byte_array = stream.toByteArray();
                ParseFile picture_file = new ParseFile("Picture.jpg", image_byte_array);
                picture_file.saveInBackground();
                post_object.put("photo", picture_file);
                post_object.saveInBackground();

        }