加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

java – 无法从base64字符串获得完整的图像质量

发布时间:2020-12-11 23:45:11 所属栏目:MySql教程 来源:网络整理
导读:** 我可以使用这段代码将图像保存在远程Mysql数据库中.但是我无法从这段代码中获得完整的图像质量.图像质量非常差.有人建议解决它吗? 提前致谢. ** public void onActivityResult(int reqCode,int resCode,Intent data) { if (resCode == RESULT_OK) { if (

**
我可以使用这段代码将图像保存在远程Mysql数据库中.但是我无法从这段代码中获得完整的图像质量.图像质量非常差.有人建议解决它吗?

提前致谢.
**

public void onActivityResult(int reqCode,int resCode,Intent data) {

        if (resCode == RESULT_OK) {
            if (reqCode == 1) {
                Bitmap photo = null;
                imageURI = data.getData();
                try {



      photo = MediaStore.Images.Media.getBitmap(this.getContentResolver(),imageURI);
                } catch (IOException e) {
                    e.printStackTrace();
                }

                Image.setImageBitmap(photo);
                ByteArrayOutputStream stream = new ByteArrayOutputStream();
                photo.compress(Bitmap.CompressFormat.JPEG,90,stream); //compress to which format you want.
                byte[] byte_arr = stream.toByteArray();
                String image_str = Base64.encodeToString(byte_arr,Base64.DEFAULT);
                try {
                    image_str1 = URLEncoder.encode(image_str,"UTF-8");
                } catch (UnsupportedEncodingException e) {
                    e.printStackTrace();
                }

            }

        }
        if (reqCode == CAMERA_REQUEST && resCode == RESULT_OK) {

            Bitmap photo = (Bitmap) data.getExtras().get("data");
            Image.setImageBitmap(photo);
            ByteArrayOutputStream stream = new ByteArrayOutputStream();
            photo.compress(Bitmap.CompressFormat.JPEG,stream); //compress to which format you want.
            byte[] byte_arr = stream.toByteArray();
            String image_str = Base64.encodeToString(byte_arr,Base64.DEFAULT);
            try {
                image_str1 = URLEncoder.encode(image_str,"UTF-8");
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
            //  Photo=getBytes(photo);
        }

    }
最佳答案 试试以下代码:

if (requestCode == SELECT_FILE && resultCode == RESULT_OK
                    && null != data) {


                Uri selectedImage = data.getData();
                String[] filePathColumn = { MediaStore.Images.Media.DATA };


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

                cursor.moveToFirst();

                int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
                imgPath = cursor.getString(columnIndex);
                cursor.close();
}else  if (requestCode == REQUEST_CAMERA && resultCode == RESULT_OK ) {  

                imgPath = fileUri.getPath();
                if (imgPath != null && !imgPath.isEmpty()) {                            

                encodeImagetoString();

                } else {
                Toast.makeText(getApplicationContext(),getResources().getString(R.string.some_error_occured),Toast.LENGTH_LONG).show();
                        }
}

encodeImagetoString()

public void encodeImagetoString() {
        new AsyncTask

希望它会对你有所帮助.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读