首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android 图片裁剪

Android 图片裁剪 前言 正文 一、创建并配置项目 二、权限申请 三、获取图片Uri 四、图片裁剪 尾声 运行效果图 ?...前言   图片裁剪是对图片进行区域选定,然后裁剪选定的区域,形成一个图片,然后再对这个图片进行压缩,最终返回结果图片。...正文   从上面的描述来看貌似是挺简单的是吧,不过实际操作起来就没有那么简单了,下面先来看看简单的实现方式,就是Android自带的裁剪。...//图片 private ImageView ivPicture; 然后在onCreate中绑定xml的id。下面你再使用这个ivPicture就不会报空对象了。...四、图片裁剪 既然是调用Android系统的图片裁剪,那么自然也和打开系统相册差不多,依然是先创建一个请求码: /** * 图片剪裁请求码 */ public static

2.5K20
您找到你想要的搜索结果了吗?
是的
没有找到

Android图片裁剪之自由裁剪

是这种,客户须要做一个图片上传的功能,这个图片须要裁剪。一般而言,这东西用系统自带的裁剪就搞定了。但是客户不,他要能够自由裁剪,就是长宽比不固定,想裁成什么比例就裁成什么比例,我一听,蛋都碎了。   ...图片裁剪的功能系统自带了,和我的需求仅仅有一点不一样,就是它是固定宽高比的,设定了宽高比就不能再改变,而我须要自由宽高比。好吧,既然仅仅有这一点不一样,那给他改改即可了。   ...这个类使用了View里面的一些变量,这些变量被打上了hide标签,所以sdk应用开发是看不到,仅仅有系统编译才干够通过。...,我这里直接凝视掉,仅仅传一个要剪切图片的uri就能够。   ...然后怎么让他自由裁剪呢,看下mAspectX变量的使用,源代码里面用mAspectX和mAspectY来做宽高比计算的,我们就把他计算宽高比的地方凝视掉就好了。

2.5K20

Vue上传图片裁剪预览插件vue-img-cutter的使用

在做web前端开发的时候,你一定遇到过这样的业务场景,上传用户头像的时候,需要将图片进行裁剪等操作,这个时候,我们一般会用到第三方插件。...这里就推荐一个简单易用的vue图片裁剪插件,支持移动图像,裁剪图片,放大缩小图片,上下左右移动,固定比例,固定尺寸,远程图片裁剪,只需要很少的代码就可以实现裁剪功能,也可以通过调整参数以适应你自己的业务需求...https://github.com/acccccccb/vue-img-cutter 是不是莫名的眼熟,是不是在几年前还用着jquery的时候在插件库里面看到过,小编曾经用过基于cropper.js的图片上传和裁剪的库...兼容性也是挺好的哟,兼容IE9+,MSEdge,chrome,firefox等主流浏览器,还可以使用此配置工具进行更多个性化设置,不仅能实时预览,还可直接生成代码复制粘贴到你的项目。...1:在自己的项目里面安装上传图片裁剪预览插件vue-img-cutter npm install vue-img-cutter --save-dev ?

2.2K20

Android 图片裁剪 (附源码)

Android 图片裁剪 前言 正文 一、创建并配置项目 二、权限申请 三、获取图片Uri 四、图片裁剪 五、源码 尾声 运行效果图 前言   图片裁剪是对图片进行区域选定,然后裁剪选定的区域,形成一个图片...正文   从上面的描述来看貌似是挺简单的是吧,不过实际操作起来就没有那么简单了,下面先来看看简单的实现方式,就是Android自带的裁剪。...intent.setType("image/*"); startActivityForResult(intent, OPEN_ALBUM_CODE); } 注意这里使用了...//图片 private ImageView ivPicture; 然后在onCreate中绑定xml的id。下面你再使用这个ivPicture就不会报空对象了。...四、图片裁剪 既然是调用Android系统的图片裁剪,那么自然也和打开系统相册差不多,依然是先创建一个请求码: /** * 图片剪裁请求码 */ public static

1.6K30

Android Camera2 学习01_API 的简单描述和调用(预览、拍照、录像)

Android 5.1 以后,添加了Camera2API,能够满足更多控制camera的场景。当然,相对应camera1的调用,也变的复杂一点。...主要做了下面几件事情: 1、预览图像显示在哪里,这就需要绑定surface,这里可以进行多个surface的绑定,如果是上层需要拿到预览数据,则可以设置ImageReader的surface...进去; 2、发送预览请求; 3、建立预览会话; 完成这几步,我们就可以看到预览图像了。...API文档(https://developer.android.google.cn/reference/android/hardware/camera2/package-summary?...这些Surface我们需要预先初始化好参数; 那么有了显示的载体后,就可以进行显示了,Camera2里面就用到了个CaptureRequest 来触发数据的请求,这个request又可以根据自己的使用场景设置不同的请求类型

1.6K30

Android Camera开发序列:Camera2 API 的简单描述和调用(预览、拍照、录像

Android 5.1 以后,添加了Camera2API,能够满足更多操纵camera的场景。当然,相对应camera1的调用,也变的复杂一点。...2、发送预览请求; 3、建立预览会话; 完成这几步,我们就可以看到预览图像了。...API文档(developer.android.google.cn/reference/a…)描述有下面这么一段话,我们可以看到MediaRecorder 的surface也是可以作为target Surface...这些Surface我们需要预先初始化好参数; 那么有了显示的载体后,就可以进行显示了,Camera2里面就用到了个CaptureRequest 来触发数据的请求,这个request又可以根据自己的使用场景设置不同的请求类型...---- 本人从事Android Camera相关开发已有5年 目前在深圳上班 欢迎大家关注我的微信公众号“小驰笔记” 大家一起学习交流

1.6K10

Android Camera2中如何获取预览YUV数据

Camera1中我们可以通过onPreviewFrame接口直接获取到默认为NV21格式的预览数据, 如下图注释所示,还可以通过调用setPreviewFormat方法要求Camera返回YV12格式的预览数据...那么在Camera2的架构中,我们要如何获取NV21或者YV12格式的预览数据呢?...在之前的文章Android Camera2详解中描述到,要获取每一帧的预览数据,我们需要ImageReader这个类的帮助: val imageReader = ImageReader(width, height...中官方建议使用YUV_420_888 ?...是指连续的码流中有效位的偏移,1表示数据是紧凑的,连续有效,中间不存在无效数据) 每一个plane都有一个rowStride,表示一行数据的长度,rowStride >= imageWidth,这就是有些图片存在绿边的原因

6.2K30

Android实现图片区域裁剪功能

今天做的就是关于实现图片的区域裁剪功能。由于项目功能的需要笔者需要实现PDF文档的阅读,并且就某个页面实现“图片裁剪(一个页面理解为一张图片)。笔者对着方面是一点儿也不熟悉,因此就得上网查资料了。...之后笔者找到了Android可以通过调用系统相册、拍照实现图片裁剪、缩放功能。 这一过程就像是在某个应用中上传头像,并对头像进行调整。现做一个记录与分享。 首先我们还是来看看实际的效果图吧!...; import android.widget.ImageButton; import android.widget.ImageView; /** * 调用系统相册或者拍照来实现图片裁剪、缩放...aspectY 是宽高的比例 intent.putExtra("aspectX", 1); intent.putExtra("aspectY", 1); // outputX outputY 是裁剪图片宽高...一个简单的图片裁剪功能就完成了,完整的源码:Android实现图片裁剪功能 以上就是本文的全部内容,希望对大家的学习有所帮助。

2.2K10

自定义相机中如何实现二维码扫描功能

android/camera目录下看到,关于camera的封装采用的是camera1的api,拿到每一帧的预览数据后发送到解码线程去做识别。...这两种算法都是基于二值化,即将图片的色域变为黑白两个颜色,然后提取图形中的二维码矩阵。...扫描框一般都是和相机预览界面居中对齐,如果我们需要在扫描框内做二维码识别的话,就需要根据扫描框的位置对预览YUV进行裁剪,为了方便映射UI和预览区域进行计算,就偷懒啦 ?...启动预览 打开Camera,启动预览的步骤参考Android Camera2详解 获取预览YUV数据 Camera2中获取预览YUV数据参考Android Camera2中如何获取预览YUV数据 二维码扫描...YUV数据是横屏的,UI是竖屏的 // 所以在扫描框和预览区域居中对齐的时候, // 裁剪区域的left,top参数为扫描框rect的top,left val planarYUVLuminanceSource

1.9K10

Android Camera2

image.png 从 Android 5.0 开始,Google 引入了一套全新的相机框架 Camera2android.hardware.camera2)并且废弃了旧的相机框架 Camera1...而 Camera2 则不强制要求你必须先开启预览才能拍照。 一次拍摄多张不同格式和尺寸的图片 在 Camera1 上,一次只能拍摄一张图片,更不同谈多张不同格式和尺寸的图片了。...在 Camera2 上,你可以在规定的曝光时长范围内配置拍照的曝光时间,从而实现拍摄长曝光图片,你甚至可以延长每一帧预览画面的曝光时间让整个预览画面在暗环境下也能保证一定的亮度。...有了 Camera2,你完全可以让你的相机应用程序支持连拍功能,甚至是连续拍 30 张使用不同曝光时间的图片。...如同 Camera1 一样,Camera2 的一些 API 调用也会耗时,所以建议你使用独立的线程执行所有的相机操作,尽量避免直接在主线程调用 Camera2API,HandlerThread 是一个不错的选择

2K51

一篇文章带你了解Android 最新Camera框架

Camera2 则不强制要求你必须先开启预览才能拍照。 一次拍摄多张不同格式和尺寸的图片 在 Camera1 上,一次只能拍摄一张图片,更不同谈多张不同格式和尺寸的图片了。...在 Camera2 上,你可以在规定的曝光时长范围内配置拍照的曝光时间,从而实现拍摄长曝光图片,你甚至可以延长每一帧预览画面的曝光时间让整个预览画面在暗环境下也能保证一定的亮度。...有了 Camera2,你完全可以让你的相机应用程序支持连拍功能,甚至是连续拍 30 张使用不同曝光时间的图片。...4)一些概念 关于Camera2 和Hal3,有些基本概念我们得了解下~~ 我们先来看下Camera2 API涉及到哪些类,下面会对各个类的使用进行讲解~~ image.png Camera2API.../devices/camera/versioning Google 开发者文档,Camera2 API 介绍 https://developer.android.google.cn/reference/

1.5K41

一篇文章带你了解Android 最新Camera框架

Camera2 则不强制要求你必须先开启预览才能拍照。3.一次拍摄多张不同格式和尺寸的图片 在 Camera1 上,一次只能拍摄一张图片,更不同谈多张不同格式和尺寸的图片了。...在 Camera2 上,你可以在规定的曝光时长范围内配置拍照的曝光时间,从而实现拍摄长曝光图片,你甚至可以延长每一帧预览画面的曝光时间让整个预览画面在暗环境下也能保证一定的亮度。...有了 Camera2,你完全可以让你的相机应用程序支持连拍功能,甚至是连续拍 30 张使用不同曝光时间的图片。...4)一些概念 关于Camera2 和Hal3,有些基本概念我们得了解下~我们先来看下Camera2 API涉及到哪些类,下面会对各个类的使用进行讲解~~ ?.../devices/camera/versioning Google 开发者文档,Camera2 API 介绍 https://developer.android.google.cn/reference/

2.9K30

Android 图片选择到裁剪之步步深坑

Android 4.4 之存储访问框架 首先,让我们从图片选择开始,使用隐式 Intent 跳转到图片选择: private void routeToGallery() { Intent intent...第四步 在裁剪图片的Intent中加入对该图片的访问权限: private void routeToCrop(Uri uri) { Intent intent = new Intent("com.android.camera.action.CROP...我们这里裁剪图片是用作头像的,所以大小一般都比较小。可以当图片的大小变大后就会发现,每次裁剪后在Intent中获取到的图片其实都是缩略图。...而解决的办法也很简单,我们需要给图片裁剪应用指定一个输出文件,用来存放裁剪后的图片: private void routeToCrop(Uri uri) { ......Android 6.0 之运行时权限 不知道大家发现了没有,之前保存图片的目录都是使用的Context.getExternalCacheDir(),这个方法获取到的目录为/sdcard/Android/

1.9K80
领券