使用Java代码在Android中实现图片裁剪功能
程序员文章站
2023-11-18 11:51:34
前言
android应用中经常会遇到上传相册图片的需求,这里记录一下如何进行相册图片的选取和裁剪。
相册选取图片
1. 激活相册或是文件管理器,来获取相片,代码如下:...
前言
android应用中经常会遇到上传相册图片的需求,这里记录一下如何进行相册图片的选取和裁剪。
相册选取图片
1. 激活相册或是文件管理器,来获取相片,代码如下:
private static final int take_picture_from_album = 1; private void takepicturefromalbum() { intent intent = new intent(intent.action_get_content); intent.settype("image/*"); startactivityforresult(intent, take_picture_from_album); }
2. 通过startacitivityforresult()方法,我们可以在onacitivityresult()中来获取图片的uri,然后将图片的uri传递给图片裁剪函数,代码如下:
@override protected void onactivityresult(int requestcode, int resultcode, intent data) { if (resultcode == activity.result_ok) { switch (requestcode) { case take_picture_from_album: if (data != null) { croppicturefromalbum(data.getdata()); } break; case picture_crop_code: if (data != null) { // 这是裁剪后图片的bitmap bitmap bitmap = data.getparcelableextra("data"); } break; default: break; } } } private static final int take_picture_from_album = 1; private void takepicturefromalbum() { intent intent = new intent(intent.action_get_content); intent.settype("image/*"); startactivityforresult(intent, take_picture_from_album); } private static final int picture_crop_code = 2; private void croppicturefromalbum(uri pictureuri) { intent intent = new intent("com.android.camera.action.crop"); intent.setdataandtype(pictureuri, "image/*"); intent.putextra("crop", "true"); // 裁剪框比例 intent.putextra("aspectx", 1); intent.putextra("aspecty", 2); // 裁剪后输入图片的尺寸大小 intent.putextra("outputx", 300); intent.putextra("outputy", 300); // 取消人脸识别 intent.putextra("nofacedetection", true); intent.putextra("return-data", true); startactivityforresult(intent, picture_crop_code); }
3. 在onactivityresult里,通过data.getparcelableextra("data")可以获取图片裁剪之后的bitmap,之后就可以将bitmap赋值给图片控件了。
推荐阅读
-
使用Java代码在Android中实现图片裁剪功能
-
在Asp.Net Core中配置使用MarkDown富文本编辑器实现图片上传和截图上传(开源代码.net core3.0)
-
在iOS开发的Quartz2D使用中实现图片剪切和截屏功能
-
android在连拍菜单中增加连拍张数选项功能实现代码
-
Android在类微信程序中实现蓝牙聊天功能的示例代码
-
Android_Develop:使用RGB值在代码中实时设置图片背景颜色
-
使用Java代码在Android中实现图片裁剪功能
-
JAVA中使用openoffice将Excel转PDF再转图片功能的实现代码
-
在Asp.Net Core中配置使用MarkDown富文本编辑器实现图片上传和截图上传(开源代码.net core3.0)
-
在cropper中js通过vue的图片裁剪上传功能如何实现