本文实例为大家分享了Android剪切和上传图片的具体代码,供大家参考,具体内容如下
1、从Android系统相册选择一张图片getImageFromAlbum():
/** * 从图库获得照片 */ protected void getImageFromAlbum() { isImgs = true; // MainApplication.changeSettingStateus = true; Intent intent = new Intent(Intent.ACTION_PICK); intent.setType("image/*");// 相片类型 intent.putExtra("aspectX", 1); intent.putExtra("aspectY", 1); intent.putExtra("outputX", 360); intent.putExtra("outputY", 360); intent.putExtra("scale", true); intent.putExtra("return-data", true); // intent.putExtra("outputFormat", // Bitmap.CompressFormat.JPEG.toString()); intent.putExtra("noFaceDetection", true); // no face detection startActivityForResult(intent, 1); }
2、在onActivityResult()方法中:
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { String text; switch (requestCode) { case 1: Uri selectedImage = data.getData(); CutPic(selectedImage); break; case 3:// 对图片进行剪切 if (data != null) { Bitmap bitmap = data.getParcelableExtra("data"); temps = zoomImage(bitmap, 360, 360); // 上传图片 uploadImg(temps); } break; default: break; } } }
3、图片剪切 CutPic(selectedImage);
/** * 将图片裁剪到指定大小 * * @param uri * @param size * @param flag */ public void CutPic(Uri uri) { Intent intent = new Intent("com.android.camera.action.CROP"); intent.setDataAndType(uri, "image/*"); intent.putExtra("crop", true);// 设置Intent中的view是可以裁剪的 // 设置宽高比 intent.putExtra("aspectX", 1); intent.putExtra("aspectY", 1); // 设置裁剪图片的宽高 intent.putExtra("outputX", 360); intent.putExtra("outputY", 360); intent.putExtra("outputFormat", "JPEG");// 图片格式 // 设置是否返回数据 intent.putExtra("return-data", true); // 开启一个带有返回值的Activity,请求码为3 startActivityForResult(intent, 3); }
4、图片压缩剪切zoomImage(bitmap, 360, 360);
/*** * 图片的缩放方法 * * @param bgimage * :源图片资源 * @param newWidth * :缩放后宽度 * @param newHeight * :缩放后高度 * @return */ public static Bitmap zoomImage(Bitmap bgimage, double newWidth, double newHeight) { // 获取这个图片的宽和高 float width = bgimage.getWidth(); float height = bgimage.getHeight(); // 创建操作图片用的matrix对象 Matrix matrix = new Matrix(); // 计算宽高缩放率 float scaleWidth = ((float) newWidth) / width; float scaleHeight = ((float) newHeight) / height; // 缩放图片动作 matrix.postScale(scaleWidth, scaleHeight); Bitmap bitmap = Bitmap.createBitmap(bgimage, 0, 0, (int) width, (int) height, matrix, true); return bitmap; }
5、上传图片文件至服务器uploadImg(bitMaps);
/** * 上传图片 * * @param bitP */ private void uploadImg(final Bitmap bitP) { // 将Bitmap转换成字符串 String string = null; ByteArrayOutputStream bStream = new ByteArrayOutputStream(); bitP.compress(CompressFormat.JPEG, 100, bStream); byte[] bytes = bStream.toByteArray(); string = Base64.encodeToString(bytes, Base64.DEFAULT); try { bStream.close(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } //string 文件上传服务器... }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍Android实现拍照、选择相册图片并裁剪功能,包括了Android实现拍照、选择相册图片并裁剪功能的使用技巧和注意事项,需要的朋友参考一下 通过拍照或相册中获取图片,并进行裁剪操作,然后把图片显示到ImageView上。 当然也可以上传到服务器(项目中绝大部分情况是上传到服务器),参考网上资料及结合项目实际情况, 测试了多款手机暂时没有发现严重问题。代码有注释,直接贴代码: 布
本文向大家介绍Android开发从相机或相册获取图片裁剪,包括了Android开发从相机或相册获取图片裁剪的使用技巧和注意事项,需要的朋友参考一下 废话不多说了,直接给大家贴代码了。 以上代码很简单,相信大家都可以看的懂吧,欲了解更多信息请持续关注本站,谢谢。
ap.chooseImage(OPTION | count, CALLBACK) 拍照或从手机相册中选择图片。可直接传入一个数字作为 OPTION.count 参数。 OPTION 参数说明 名称 类型 必选 描述 count Number 否 最大可选照片数,默认1张,上限9张 sourceType String Array 否 相册选取或者拍照,默认 ['camera','album'] CA
本文向大家介绍Android实现拍照、选择图片并裁剪图片功能,包括了Android实现拍照、选择图片并裁剪图片功能的使用技巧和注意事项,需要的朋友参考一下 一、 实现拍照、选择图片并裁剪图片效果 按照之前博客的风格,首先看下实现效果。 二、 uCrop项目应用 想起之前看到的Yalantis/uCrop效果比较绚,但是研究源码之后发现在定制界面方面还是有一点的限制,于是在它的基础上做了修
本文向大家介绍Android实现读取相机(相册)图片并进行剪裁,包括了Android实现读取相机(相册)图片并进行剪裁的使用技巧和注意事项,需要的朋友参考一下 我们先说一下思路,在android系统中就自带了图片剪切的应用,所以,我们只需要将我们获取到的相片传给图片剪切应用,再将剪切好的相片返回到我们自己的界面显示就ok了 在开发一些APP的过程中,我们可能涉及到头像的处理,比如从手机或者相册获取
本文向大家介绍Android拍照和获取相册图片,包括了Android拍照和获取相册图片的使用技巧和注意事项,需要的朋友参考一下 之前遇到各种拍照啊,获取相册图片之类,都是直接去度娘,要么之前的代码复制下,没好好总结过。 再也不要问度娘了,再也不用一堆博客里找啊找了。。。 ----------------------------------------------我是正文的分割线--------