Android自带图片裁剪

方法:

    private void cutPhoto(Uri uri) {
        Intent intent = new Intent("com.android.camera.action.CROP");
        intent.setDataAndType(uri, "image/*");
        intent.putExtra("crop", true);
        // 裁剪框的比例,1:1
        intent.putExtra("aspectX", 1);
        intent.putExtra("aspectY", 1);
        // 裁剪后输出图片的尺寸大小
        intent.putExtra("outputX", 250);
        intent.putExtra("outputY", 250);

        intent.putExtra("outputFormat", "JPEG");// 图片格式
        intent.putExtra("noFaceDetection", true);// 取消人脸识别
        intent.putExtra("return-data", true);
        startActivityForResult(intent, REQUEST_CUT_PHOTO);
    }

接收方法:

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == RESULT_OK)
            switch (requestCode) {
                case REQUEST_CUT_PHOTO:
                    if (null != data) {
                        Bitmap bitmap = data.getParcelableExtra("data");
                        upload(bitmap);
                    }
                    break;
            }
    }

大尺寸黑边问题:

Intent intent = new Intent(Intent.ACTION_GET_CONTENT, null)
            .setType("image/*")
            .putExtra("crop", "true")
            .putExtra("aspectX", width)
            .putExtra("aspectY", height)
            .putExtra("outputX", width)
            .putExtra("outputY", height)
            .putExtra("scale", true)//黑边
            .putExtra("scaleUpIfNeeded", true)//黑边
            .putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(f))
            .putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());
时间: 2024-12-05 05:40:37

Android自带图片裁剪的相关文章

android上的图片裁剪控件和activity

用于裁剪正方形图片,使用简单,可以使用activity或者直接使用view. 使用activity方法: ? 1 2 3 4 5 new Crop(Uri.fromFile(     new File(Environment.getExternalStorageDirectory() + "/pic/jjjj.jpg")))     //the picture want to crop          .output(Uri.fromFile(new File(Environment

Android生成带图片的二维码

一.问题描述 在开发中需要将信息转换为二维码存储并要求带有公司的logo,我们知道Google的Zxing开源项目就很好的帮助我们实现条形码.二维码的生成和解析,但带有logo的官网并没有提供demo,下面就通过实例看看如何实现以及Zxing的使用. 二.案例介绍 1.案例运行效果 2.案例准备工作 在项目中加入jar,只需加入core.jar Zxing项目地址:https://github.com/zxing/zxing/ 三.Zxing主要组件 1.BarcodeFormat 定义了不同的

Android笔记之 图片自由裁剪

前言--项目中需要用到对用户头像的裁剪和上传功能.关于裁剪,一开始是想自己来做,但是觉得这个东西应该谷歌有开发吧,于是一搜索官方文档,果然有.于是,就果断无耻地用了Android自带有关于照片的自由裁剪.因为时间太紧,虽然不太华丽,但是胜在能用,节省时间嘛. 具体是通过 Intent的action来实现的. 关键代码如下: public void imageCut(Uri uri) { Intent intent = new Intent("com.android.camera.action.C

iOS边练边学--(Quartz2D)图片裁剪,带圆环的裁剪

一.图片裁剪,示意图 二.带圆环的图片裁剪示意图

Android开发系列(二十三):实现带图片提示的Toast提示信息框

Android中的Toast是很常见的一个消息提示框,但是默认的消息提示框就是一行纯文本,所以我们可以为它设置一些其他的诸如是带上图片的消息提示. 实现这个很简单: 就是定义一个Layout视图,然后设置Toast显示自定义的View. 在这里,就是设置了一个LinearLayout容器,然后给这个容器添加图片,添加文字信息.然后把这个容器设置给Toast对象,让其显示出来. 首先创建一个Android项目,然后我们编辑下main.xml文件: <span style="font-size

Android开发技巧——定制仿微信图片裁剪控件

拍照--裁剪,或者是选择图片--裁剪,是我们设置头像或上传图片时经常需要的一组操作.上篇讲了Camera的使用,这篇讲一下我对图片裁剪的实现. 背景 下面的需求都来自产品. 裁剪图片要像微信那样,拖动和放大的是图片,裁剪框不动. 裁剪框外的内容要有半透明黑色遮罩. 裁剪框下面要显示一行提示文字(这点我至今还是持保留意见的). 在Android中,裁剪图片的控件库还是挺多的,特别是github上比较流行的几个,都已经进化到比较稳定的阶段,但比较遗憾的是它们的裁剪过程是拖动或缩放裁剪框,于是只好自己

android ListView SimpleAdapter 带图片

main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:

32Spannable的使用(Android显示html带图片 (表情开发))

Android中显示html文件要用Html.fromHtml(...)处理过的返回值,返回值可以成为setText()的参数.只显示带文本的html可以用下面的方法处理html文件. public static Spanned fromHtml (String source) 显示带图片的html要用下面的方法处理html文件. public static Spanned fromHtml (String source, Html.ImageGetter imageGetter, Html.T

Android图片裁剪——自定义裁剪工具

上次弄完调用系统裁剪之后,我又试着做一个自定义的裁剪工具. 老习惯,文章开始前还是先把我参考的资料贴出来.您愿意节省点时间看别人的更好的就直接从下面链接跳走-愿意看看我怎么做的那就先谢谢了! GitHub上老外做的一个非常棒的demo,代码也很漂亮 android自定义view实现裁剪图片功能,不使用系统的 第一个链接代码写的太好了,不过很多我用不上,也不需要那么麻烦的文件结构:第二个代码比较简单,但有些地方还是有借鉴意义的. 下面是我的代码,时间紧,就先不写太详细了: 注意几点: 我是在平板上