; 8 import android.util.Log; 9 import android.view.View; 10 import android.widget.Button; 11 import...android.widget.FrameLayout; 12 import android.app.Activity; 13 import android.content.Context; 14...; import android.hardware.Camera; import android.util.Log; import android.view.SurfaceHolder; import...> android="http://schemas.android.com/apk/res/android" android:orientation="horizontal...android:id="@+id/camera_preview" android:layout_width="fill_parent" android:
Android剪裁图片简单的方法 /** * 按正方形裁切图片 */ public static Bitmap ImageCrop(Bitmap bitmap) {
在android开发中, 在一些编辑个人信息的时候,经常会有头像这么一个东西,就两个方面,调用系统相机拍照,调用系统图库获取图片.但是往往会遇到各种问题: 1.oom 2.图片方向不对 3.activity...android.database.Cursor; import android.net.Uri; import android.provider.MediaStore; import android.widget.Toast...; //在onActivityResult方法中根据requestCode和resultCode来获取当前拍照的图片地址。...//注意:这里有个问题,在有些机型当中(如SamsungI939、note2等)遇见了当拍照并存储之后,intent当中得到的data为空: /** * data = null 的情况主要是由于拍照的时候横屏了...; import android.graphics.RectF; import android.media.ExifInterface; import android.net.Uri; import android.util.Log
方式进行预览拍照。...= null) { mCamera.stopPreview(); } } /** * 拍照 */ public static...R.id.btn_switch: switchCamera(); break; } } /** * 拍照..." android:layout_height="wrap_content" android:text="拍照" /> 至此,通过SurfaceView + Camera API 预览拍照功能已经实现。
应朋友需求做了款拍照测距的APP,可以测出你到目标物体的距离。...欢迎star、下载 github地址:点击打开链接 主要难点: 1.自定义相机 2.SurfaceView双缓冲问题 3.别的也没啥了 README.md DistanceMeasure An android...(for reference only) Android 拍照测距 (借用下smart distance的截图 , 如有不妥请告知) 使用方法: 输入目标物体的真实高度 动动手指用屏幕上的绿线圈住目标物体
最近在Android上做了拍照功能的开发。...业务场景是:点击界面(HTML5)上的拍照按钮会调用拍照的JS API,获取其返回照片文件的存储路径、扩展名以及照片文件的Base64字符串,然后在界面上显示图片。...private static final int ACTION_TAKE_PHOTO = 1; private Uri photoUri; /*** * 需要说明一下,以下操作使用照相机拍照,拍照后的图片会存放在相册中的...* 这里使用的这种方式有一个好处就是获取的图片是拍照后的原图 * 如果不实用ContentValues存放照片路径的话,拍照后获取的图片为缩略图不清晰 */ ContentValues values...MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values); Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT
拍照 private static final int TAKE_PICTURE = 0; void takePhotoClick() { if (Build.VERSION.SDK_INT >...Manifest.permission.CAMERA}, REQUEST_CODE_ASK_PERMISSIONS); } else { startActivityForResult(new Intent("android.media.action.IMAGE_CAPTURE...grantResults[0] == PackageManager.PERMISSION_GRANTED) { startActivityForResult(new Intent("android.media.action.IMAGE_CAPTURE...choose_photo_layout_click() { //调用相册 Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI
" android:text="拍照" android:textColor="#000" /> <View android:layout_width..." android:text="取消" android:textColor="#000" /> 这是一个弹窗的布局文件,里面提供你选择拍照...R.id.tv_open_album); TextView tvCancel = bottomView.findViewById(R.id.tv_cancel); //拍照...: /** * 拍照 */ private void takePhoto() { if (!...首先拿到拍照或者打开相册后的图片路径之后,这个地址当然不是直接发送给后台的,根据我的经验,它们通常需要的是图片的base64,如下图所示:[在这里插入图片描述] 这里的base64Pic是String类型的
9.5 剪裁效果 Android 中当几个绘制的内容重叠的时候,可以使用剪裁效果进行控制在重叠的情况下,显示哪个部分的内容。...参考示例程序:ApiDemo 的 Clipping(ApiDemo=>Graphics=>Clipping) 源代码:android/apis/graphics/Clipping.java Clipping...加入) REPLACE(替代) REVERSE_DIFFERENCE(保留差异) UNION(和) XOR(异或) clipPath()和 clipRect ()等几个函数用于在画布的范围内将几个区域剪裁掉...right, float bottom) boolean clipRect(float left, float top, float right, float bottom, Region.Op op) 剪裁的功能可以丰富绘制的最终效果
拍照获取图片 private void takePhoto() { // 执行拍照前,应该先判断SD卡是否存在 String SDState = Environment.getExternalStorageState...takePhoto)中,设置了拍完照照片的存放路径takePhoto,在此情况下,部分机型的onActivityResult()中不会返回数据,即data.getData()为空,因为可以根据存放路径即可获取拍照图片...super.onActivityResult(requestCode, resultCode, data); } 因为在本activity中可能启动三个新的activity,即拍照...整体代码 public class selectPhotoActivity extends Activity implements View.OnClickListener{ /** 使用照相机拍照获取图片...break; default : break; } } /** * 拍照获取图片
Android打开系统拍照&相册获取头像 现在许多应用都有上传头像的功能,再次奉上代开系统相册或打开系统相机拍照的实现,有的同学在测试小米手机上打开选择相册有奔溃,此代码已完美解决此问题… 楼主,做的头像需要经过裁剪之后和圆形处理...设置点击打开相机&打开系统图库 @Override public void onClick(View v) { // 打开系统拍照程...= null) { // 拍照 Bundle bundle = data.getExtras(); // 获取相机返回的数据,并转换为图片格式...//**:在4.4.2之前返回的uri是:content://media/external/images/media/3951或者file://....在4.4.2返回的是content://com.android.providers.media.documents...>"authority"[主机地址+端口(省略) =authority] //folder/subfolder/etc-->"path" 路径部分 //android
好了,步入正题,在 Android 中调用摄像头拍照获取图片或者是从相册中选取图片是很常见的功能,比如某些 APP 上传头像的功能就是一个例子。...**因为 Android 7.0 的新特性规定,不同的应用之间不能再使用 file:// 类型的 Uri 共享数据了,否则会报异常,这就就是网上说的 Android 7.0 调用相机拍照崩溃的问题。...官方推荐的做法是使用 FileProvider 来实现,**下面来看一下怎么实现这个 APP 中常见的功能: 一般来说,我们通过拍照来获取图片有以下步骤: 调用系统相机拍照 --> 调用系统裁剪程序裁剪裁照片并输出到指定目录..." android:layout_height="wrap_content" android:text="拍照获取图片"/> <Button android...下面是上面例子的源码: Android 中拍照、相册选择、裁剪照片(兼容Android 7.0) 这里是 Github 地址,没积分的看这里 谢谢观看。。。
:3.0.1' annotationProcessor 'com.github.hotchemi:permissionsdispatcher-processor:3.0.1' //图片剪裁...(this);//取消按钮 window.findViewById(R.id.photodialog_btn_take).setOnClickListener(this);//拍照按钮...获取一个 模板格式化后的 文件名(模板:文件头_当前时间.后缀) return FileUtil.getFileNameByTime("IMG", "jpg"); } //拍照取图...public void takePhoto() { final String currentPhotoName = getPhotoName(); //拍照意图...{ DIALOG.cancel(); } else if (id == R.id.photodialog_btn_take) { //拍照取图
今天又要加打开相机拍照并且上传图片的功能。很多项目都会用到,所以一时兴起,写了个封装类,希望在其他项目中,能够快速引入相机拍照系统。...android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths" />...import android.app.Activity import android.content.Intent import android.graphics.Bitmap import android.graphics.BitmapFactory...import android.net.Uri import android.os.Build import android.os.Environment import android.provider.MediaStore...= null //拍照后保存的照片 var imgUri: Uri?
演示视频一,准备 android apk的安装,本文用的自带模版是Bottom Navigation Activity,android api 30二,添加必要的权限在AndroidManifest.xml...文件中添加相机权限,与标签同级 android:name="android.permission.CAMERA" /> android:name="android.hardware.camera" /> android:name="android.hardware.camera.autofocus...", Toast.LENGTH_SHORT).show(); } } }六,实现拍照功能// 启动相机并拍照 private void takePhoto...null) { startActivityForResult(takePictureIntent, REQUEST_TAKE_PHOTO); } }七,处理拍照结果
最近我在群里看到有好几个人在交流说现在网上的一些Android调用系统相册和拍照的demo都有bug,有问题,没有一个完整的。...Intent.ACTION_GET_CONTENT); intent.setType("image/*"); } else { intent = new Intent( Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI
原文链接:https://perso.crans.org/frenoy/matlab2012/seamcarving.pdf 线剪裁算法的工作原理是找到被称为接缝的低能量像素(即最不重要的),而且这些低能量像素从左到右或从上到下贯穿整个图像...请记住,线剪裁的目的是保存主要对象(即“有趣的”)区域的图像,同时调整图像本身的大小。 使用传统的方法调整大小会改变整个图像的尺寸,不需要考虑图像的哪个部分最重要或最不重要。...相反,线剪裁应用路径规划算法从能量图中导出接缝来确定图像的哪些区域可以删除或复制,以确保图像中所有“感兴趣的”区域被保留。 比较传统的大小调整和线剪裁算法: ?...但是,通过使用线剪裁,我可以沿着水平维度“缩小”图像,在不改变图像高度的情况下,仍然保留图像中最有趣的区域: ?
一、背景介绍 拍照是手机的基本功能,优化拍照性能,主要是优化点击拍照到生成照片的这一段时间,看看可以在什么地方减少耗时 下面将打开camera到拍照完成这段时间拆解一下 这段过程主要分为: capture...session配置阶段:这是预览之前的阶段 预览流程:这段时间,camera不断出帧,显示在TextureView上 拍照流程:点击拍照到最终生效图片的流程 Note:将预览流程与拍照流程合成一个大的流程...,因为我们本文所说的优化重点就在这里 二、核心思想 预览出帧是为了让用户感觉到此时camera正在运行,但是预览的帧数据是不能直接用作拍照的帧数据,为什么?...因为预览的帧数据太小,拍照的帧数据很大,所以不能直接复用。那如果能直接复用呢?...就是预览的帧数据可以直接被拍照来使用 这也是我们本文讨论的重点,直接复用预览的帧数据 直接复用预览的帧数据,那么首先需要保证的是预览帧的大小必须和实际拍照的帧大小是相同的,不然获取的预览帧数据也是没用的
" android:text="拍照" android:textColor="#000" /> <View android:layout_width..." android:text="取消" android:textColor="#000" /> 这是一个弹窗的布局文件,里面提供你选择拍照...R.id.tv_open_album); TextView tvCancel = bottomView.findViewById(R.id.tv_cancel); //拍照...: /** * 拍照 */ private void takePhoto() { if (!...首先拿到拍照或者打开相册后的图片路径之后,这个地址当然不是直接发送给后台的,根据我的经验,它们通常需要的是图片的base64,如下图所示: 这里的base64Pic是String类型的,它的数据会比较长
图片的选择 这两天做头像模块的时候,使用到了相册,相机,剪裁,自定义圆形图片;这里做个总结吧 这里关于权限的处理 之前已经做过总结了,就不再写了 https://sky-mxc.github.io/2016...然后启动剪裁程序去剪裁 /** * 执行图库选取图片 */ private void invokePhoto() { Log.i(TAG, "invokePhoto: "); Intent...Uri.fromFile(FileUtil.saveHeadImg(path))); } cursor.close(); 相机选取 在启动相机的时候 传入一个文件uri(和刚才相册临时存储的文件路径一致,方便使用),在拍照完毕...,直接去读取该图片 并执行剪裁 /** * 执行拍照 */ private void invokeCamera() { String state = Environment.getExternalStorageState...打开系统图片裁剪功能 * @param uri */ private void startPhotoZoom(Uri uri) { Intent intent = new Intent("com.android.camera.action.CROP
领取专属 10元无门槛券
手把手带您无忧上云