如何将使用设备相机拍摄的图像按原样发送到服务器,而不会丢失其质量,宽度和高度



我正在拍照并将其保存在SD卡中。稍后一段时间,我通过创建如下所示的文件将相同的图片保存到服务器。

            ByteArrayOutputStream boas = new ByteArrayOutputStream();
            bm.compress(Bitmap.CompressFormat.PNG, 100, boas);
            resizeBitmap.compress(Bitmap.CompressFormat.JPEG  ,100, boas);
            byte[] b = boas.toByteArray();

我要发送到服务器的字节数组。

但是图像质量和大小保存不正确。如果分辨率为1200 X 1600,则320 * 240保存在服务器中。

拍摄照片时如何保存照片?如果不提供 URI,则只会得到一个低分辨率的缩略图作为回报。

编辑:编写如何从相机获取完整图像的代码,我现在只是猜测您的问题;

   Intent in = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
   File out = Environment.getExternalStorageDirectory(); 
   String fileName="image.png"; 
   out = new File(out, fileName); 
   in.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(out)); 
   startActivityForResult(in);

从您发布的代码来看,它仅显示您从位图制作为 PNG,然后制作质量下降 0% 的 JPG。

最新更新