参考链接

首先 定义一张图片地址

private String IMAGE_FILE_NAME;
private Uri imageUri;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");// HH:mm:ss//获取当前时间
Date date = new Date(System.currentTimeMillis());
IMAGE_FILE_NAME = simpleDateFormat.format(date) + "temp.jpg";
imageUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(), IMAGE_FILE_NAME));

跳转相机 相册选择图片

private View.OnClickListener itemsOnClick = new View.OnClickListener() {@Overridepublic void onClick(View v) {selectPicPopupWindow.dismiss();switch (v.getId()) {// 拍照case R.id.takePhotoBtn:Intent takeIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);//下面这句指定调用相机拍照后的照片存储的路径takeIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);startActivityForResult(takeIntent, REQUESTCODE_TAKE);break;// 相册选择图片case R.id.pickPhotoBtn:Intent pickIntent = new Intent(Intent.ACTION_PICK, null);// 如果朋友们要限制上传到服务器的图片类型时可以直接写如:"image/jpeg 、 image/png等的类型"pickIntent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*");startActivityForResult(pickIntent, REQUESTCODE_PICK);break;}}};

接收图片回调

@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (resultCode == RESULT_CANCELED) {return;} else {switch (requestCode) {case REQUESTCODE_PICK:// 直接从相册获取try {startPhotoZoom(data.getData());} catch (NullPointerException e) {e.printStackTrace();// 用户点击取消操作}break;case REQUESTCODE_TAKE:// 调用相机拍照File temp = new File(Environment.getExternalStorageDirectory() + "/" + IMAGE_FILE_NAME);startPhotoZoom(Uri.fromFile(temp));break;case REQUESTCODE_CUTTING:// 取得裁剪后的图片if (data != null) {if (android.os.Build.BRAND.equals("HUAWEI")) {Bitmap bitmap = decodeUriAsBitmap(imageUri);urlpath = FileUtil.saveFile(RichTextActivity.this, "head1.jpg", bitmap);File file = new File(urlpath);httpUploadImage(file);}else {setPicToView(data);}}break;}}}
  /*** 裁剪图片方法实现* 判断手机厂商  * @param uri*/public void startPhotoZoom(Uri uri) {Intent intent = new Intent("com.android.camera.action.CROP");intent.setDataAndType(uri, "image/*");// crop=true是设置在开启的Intent中设置显示的VIEW可裁剪intent.putExtra("crop", "true");intent.putExtra("aspectX", 4);intent.putExtra("aspectY", 3);// outputX outputY 是裁剪图片宽高if (android.os.Build.BRAND.equals("HUAWEI")) {intent.putExtra("outputX", 1800);intent.putExtra("outputY", 1350);intent.putExtra("scale", true);intent.putExtra("return-data", false);intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());intent.putExtra("noFaceDetection", true);} else {intent.putExtra("outputX", 1800);intent.putExtra("outputY", 1350);intent.putExtra("return-data", true);}startActivityForResult(intent, REQUESTCODE_CUTTING);}

方法 根据uri转换成比bitmap

private Bitmap decodeUriAsBitmap(Uri uri) {Bitmap bitmap = null;try {bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(uri));} catch (FileNotFoundException e) {e.printStackTrace();return null;}return bitmap;}/*** 保存裁剪之后的图片数据** @param picdata*/private void setPicToView(Intent picdata) {Bundle extras = picdata.getExtras();if (extras != null) {// 取得SDCard图片路径做显示Bitmap photo = extras.getParcelable("data");urlpath = FileUtil.saveFile(RichTextActivity.this, "head1.jpg", photo);File file = new File(urlpath);httpUploadImage(file); //上传图片到服务器}}

android 华为部分手机剪裁图片模糊问题相关推荐

  1. Android 实现全屏截图、剪裁图片、分享图片至其他应用进程功能(踩坑记录)

    Android 实现全屏截图.剪裁.分享功能 项目中需要用到 截图分享 的功能,特此写下查询资料过程中的踩坑记录. android 26以上,google 官方文档支持 PixelCopy 实现截图效 ...

  2. al00华为手机_华为al00手机报价图片_华为al00手机

    *为提供尽可能准确的产品信息.规格参数.产品特性,华为或荣耀可能实时调整和修订以上页面中的文字表述.图片效果等内容,以求与实际产品性能.规格.指数.零部件等信 [华为畅玩5(CUN-AL00)金色手机 ...

  3. 手机html图片模糊,css3处理sprite背景图压缩来解决H5网页在手机浏览器下图标模糊的问题_html/css_WEB-ITnose...

    最近在负责一个微信H5 App项目,遇到一个郁闷的问题,手机浏览器查看网页时图标都是模糊的,有锯齿,电脑浏览器显示则是正常.大概知道是分辨率适配等类型的问题,后来网上查找了一些办法,大部分的解决方案都 ...

  4. android调用系统相机返回图片模糊

    最近需要用到调用系统相机拍摄照片的功能,于是就直接调用系统的相机进行拍照,发现返回的bitmap存储之后都是非常模糊的 调用系统相机拍摄照片,由于StartActivityForResult过时,改用 ...

  5. Android 运行到手机中图片有比较严重的色差

    在一个项目中,我遇到了运行到手机中的图片与原图有严重的色差, 处理办法:查看自己的图标格式是否是.png的,我当时是.jpg的图片,转成.png的色差就好了.

  6. Android 解决小米手机添加图片水印后显示黑边的问题

    背景 由于选择图片后需要需要在图片上添加logo,经纬度坐标,天气.时间等内容(图片水印) 测试反馈在小米手机上选择图片上传后有图片在右边和下边有一条黑边 具体查看下图 调用代码如下使用O.V.H.及 ...

  7. 华为型号5g版本是android,华为5g手机有哪些型号2020年,华为Mate30性价比最高

    一.华为Mate30 Pro 5G 华为Mate30 Pro 5G是华为真正的顶级旗舰,首发麒麟990 5G SoC,上市已经超过半年,不过这款手机到现在仍然值得选择. 华为Mate30 Pro 5G ...

  8. Android 6.0手机存储图片以及下载apk需要申请动态权限

    由于Android6.0有着更高的隐私权,所以在存储SD卡要动态申请权限if (ContextCompat.checkSelfPermission(getApplicationContext(), a ...

  9. Unity 项目 导出到手机后像素特别低 图片模糊解决

    UI给的图在Untiy 显示正常 导出手机后图片模糊 取消 Generate Mip Maps 勾选

最新文章

  1. 齐次坐标的理解(1)
  2. docker mysql 生产环境_Docker构建MySQL环境
  3. ug二次开发环境可以用c语言吗,NX二次开发(1):开发环境配置
  4. Python的内置方法(二)
  5. 【android-tips】SurfaceView的制作android游戏框架介绍
  6. android 开发卫星菜单,android之类似卫星菜单,来自定义ViewGroup。。。。。
  7. 第二章 Cameras, Lights, and Shadows
  8. 转载--数据库sql取整操作
  9. 雨人网络E卡通免费上网的方法
  10. sql server中binary怎么得到char类型
  11. 四款职场效率神器,飞速提高你的工作效率
  12. 鸿蒙开发起步系列 | 环境搭建、HarmonyOS应用开发及智能硬件开发
  13. 1024,程序员节!快乐!
  14. 小熊电器失宠,小家电市场不背锅
  15. 沪深A股分析数据龙虎榜信息API接口(JSON标准格式,Get请求方式)
  16. FFMPEG实现对AAC解码(采用封装格式实现)
  17. 基于FPGA+SDRAM+BT656视频解码移植总结
  18. 建筑图纸设计加密软件在规划设计行业的应用价值
  19. 直播电商源码,简述直播的实现原理
  20. 少年前线服务器维修,少年前线改造系统在哪 | 手游网游页游攻略大全

热门文章

  1. 怎样共享苹果Mac上的 Wi-Fi 密码?
  2. 模糊数学 计算机智能,《常用算法之智能计算 (五) 》:模糊计算
  3. 设计模式(一):简介
  4. iOS WKWebView 那些坑
  5. 淘宝达人接任务不推广怎么办?
  6. 讲给后台程序员看的前端系列教程(19)——CSS的层叠性与继承性以及优先级
  7. TJISE-APP 自动签到打卡
  8. npm 安装出现 UNMET DEPENDENCY 的解决方案
  9. Spring的双生武魂之AOP
  10. Vue2.0 —— 由设计模式切入,实现响应式原理