android获取并显示camera拍摄或者本地图库的照片

Android Camera2-预览、拍照、录像流程 重复模式(Repeating):指的是不断重复执行指定的 Capture 操作,当有其他模式的 Capture 提交时会暂停该模式,转而执行其他被模式的 Capture,当其他模式的 Capture 执行完毕后又会自动恢复继续执行该模式的 Capture,例如显示预览画面就是不断 Capture 获取每一帧画面。在 Camera2 上,你可以在规定的曝光时长范围内配置拍照的曝光时间,从而实现拍摄长曝光图片,你甚至可以延长每一帧预览画面的曝光时间让整个预览画面在暗环境下也能保证一定的亮度。 阅读详情

最近项目在搞用户图片上传功能,要从本地选择图片或者camera拍摄的图片显示预览并上传,之前为了方便一直想着用别人的轮子来造车,结果各种问题,要么应用崩溃,要么适配性极差,最后没办法,只能返璞归真,使用系统提供的方式来获取照片.然而,开发并不是一帆风顺的,网上提供的解决方案都是使用bitmap获取图片,得到的图片分辨率比较低,虽然网上找了很多文章,但很多都是答非所问,又或者一大堆问题,还不如自己慢慢琢磨研究.

在之前找了好多参考文章之后,都没能解决问题,有点绝望,没想到自己琢磨倒是搞好了.下面分享一波,也记录一下,方便日后使用.

先来看看最终实现的效果吧:

                                         


效果比较简单,只涉及到图片uri获取和展示,至于文件上传一般都是通过文件路径得到file,然后上传,本文并不介绍上传功能,大家可以自行研究,文章重点只为解决获取camera和本地图片模糊问题,下面来具体说明一下实现思路.

  • 调用系统相机并设置输出路径
 这里理解起来并不困难,直接看代码吧:

private void takePhoto() {
    
    //跳转到新的Activity去拍照片
    //进来时就同时拥有两个权限,调用系统拍照
    String state = Environment.getExternalStorageState();
    if (state.equals(Environment.MEDIA_MOUNTED)) {
        Intent photoIn = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        String out_file_path = SAVED_IMAGE_DIR_PATH;
        File dir = new File(out_file_path);
        if (!dir.exists()) {
            dir.mkdirs();
        }
        capturePath = dir.getAbsolutePath() + "/" + Calendar.getInstance().getTimeInMillis() + ".jpg";
        loge("要保存图片的路径为===="+capturePath);
        File file = new File(capturePath);
        photoIn.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));
        photoIn.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
        startActivityForResult(photoIn, TAKE_PHOTO_REQUEST);
    } else {
        Toast.makeText(getApplicationContext(), "请确认已经插入SD卡", Toast.LENGTH_LONG).show();

    }
}

通过MediaStore.EXTRA_OUTPUT方法可以设置拍照图片的输出路径,方便定位图片位置和使用

  • 访问系统图库并返回图片uri

 访问系统图库有多种方式,这里使用Intent.GET_ACTION_CONTENT,然后筛选image类型的资源,如下所示:

private void getSystemImage() {


    Intent localIntent = new Intent();

    localIntent.setType("image/*");
    /* 使用Intent.ACTION_GET_CONTENT这个Action */
    localIntent.setAction(Intent.ACTION_GET_CONTENT);
    /* 取得相片后返回本画面 */
    startActivityForResult(localIntent, CUT_PICTURE);
}
下面就要探究一下如何在onActivityResult()方法中接收图片数据的问题了.

  • 获取返回的图片uri

 之前说过,一般情况下,都是使用bitmap来获取到图片并显示,这样获取的好处在于得到的图片是缩略图,不会占用太多资源,但是同样也会带来一个问题:如果我们需要得到高质量或者原图,bitmap的方式就无法达到需求,因为android系统内部作了相关限制,即使是最高质量的bitmap,最终也看起来不会清晰.那么有什么方法可以解决问题呢?答案肯定是有的. 先来看看下面的这部分onActivityResult()代码:

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//        super.onActivityResult(requestCode, resultCode, data);
        loge("拍照完了==" + resultCode);
        if (requestCode == TAKE_PHOTO_REQUEST && resultCode == RESULT_OK) {
            isCameraImage = true;
            isLocalImage = false;
            loge("拍照成功,拍照路径为"+capturePath);
            File file = new File(capturePath);
            uploadImagePath = capturePath;
            Uri uri = Uri.fromFile(file);
            showUploadImage(uri.toString());

        } else if (requestCode == TAKE_PHOTO_REQUEST && resultCode != RESULT_OK) {
            loge("取消了拍照");
        } else if(requestCode == CUT_PICTURE && resultCode == RESULT_OK){

            isLocalImage = true;
            isCameraImage =false;
            localUri = data.getData();
            loge("传回来的本地图片uri为==="+localUri.toString());
            showUploadImage(localUri.toString());

        }
    }

从代码中不难看出,最终我们想要得到的都是图片的uri,有人可能会问为什么要得到uri而不是file,当然是因为我们要快速展示出来,没错,就是使用glide来展示.刚刚takePhoto()中capturePath是作为拍照图片保存的输出路径,在onActivityResult()拍照成功返回后,获取file,并得到uri,进而得以显示原图片,并没有通过bitmap来显示.

至于从本地图库选择图片后返回,我们可以直接得到图片的uri. 由于本地图片选择并不会改变路径,所以无法为其向前者一样指定输出路径,但是uri就是我们最终希望得到的.OK,这样就算大功告成了,下面附上showUploadImage()显示返回图片的方法:

private void showUploadImage(String imageUri) {
    if(imageUri!=null){
        add_back_view.setVisibility(View.GONE);
        iv_upload_image.setVisibility(View.VISIBLE);

        Glide
                .with(this)
                .load(imageUri)
                .centerCrop()
                .thumbnail(0.3f)
                .into(iv_upload_image);
        bt_upload.setEnabled(true);
        bt_upload.setAlpha(1);
    }

}


  • 如果想要得到图片文件用于上传至服务器那该怎么办?
系统拍照我们可以为其指定输出文件路径,那么只要调用FileUtils.getFileByPath(输出路径)即可,但是,本地图库返回的图片我们只知道它的uri啊,该怎么获取它的文件路径呢?很简单,这里我找到了一个方法,用于通过uri得到其文件path,来看看这部分代码实现:

String[] proj = { MediaStore.Images.Media.DATA };
Cursor actualimagecursor = managedQuery(localUri,proj,null,null,null);
int actual_image_column_index = actualimagecursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
actualimagecursor.moveToFirst();
String img_path = actualimagecursor.getString(actual_image_column_index);
没看错,就是这短短几行代码就能得到image的路径,接下来就可以放心的上传图片啦

补充:本文仅作记录和供大家参考,有什么不足和改进之处希望大家留言提出,或者加我QQ(4674521)探讨,谢谢!

Android 调用系统相册选择照片与调用系统相机拍照保存照片并显示在当前界面 效果图 点击图库 选择照片 返回图片 相机与图库操作相同 以下是代码 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xm... 阅读详情

相关推荐

ENVI与Sarscape协同处理哨兵一号数据的完整流程解析

本文详细解析了利用ENVI与Sarscape软件协同处理哨兵一号(Sentinel-1)SAR数据的完整工作流程。从环境搭建、数据导入与裁剪,到核心的DEM辅助多时相配准、斑点噪声滤波,再到最终的地理编码与辐射定标,提供了标准化的操作指南与实用技巧,帮助用户高效地将原始雷达数据转化为可用于分析的地理编码产品。

weixin_29251131的博客 339

Android开发之多媒体——显示手机存储的图片

本文来自         在Android中多媒体文件(音乐/视频/图片)是通过MediaStore来统一管理的,本文所演示的例子是通过MediaStore获取手机存储中的图片,然后在Gallery中显示出来。例子最后的效果: 下面先贴出本文需要添加和修改的文件:main.xml <LinearLayout xmlns:android="http://schemas.android.

安琪拉的博客 4057

Synopsys AXI VIP 从环境搭建到首个验证场景运行

本文详细介绍了Synopsys AXI VIP从环境搭建到首个验证场景运行的全过程,包括VIP安装、示例工程生成、验证环境解析、仿真调试技巧及进阶优化。特别针对AXI协议验证中的常见问题提供了实用解决方案,帮助工程师快速掌握这一SoC验证必备工具。

weixin_29185493的博客 342

Android安卓开发扫描二维码时候需要对本地相册扫描,本地相册总是识别失败的解决办法

Android安卓开发扫描二维码时候需要对本地相册扫描,本地相册总是识别失败的解决办法

m0_62416753的博客 1084

LiteOS | 基于LiteOS的智慧农业案例实验分享

分享一个基于小熊派+LiteOS+华为云的案例实验(智慧农业)。 实验框图 相关模块简介 1、STM32L431RCT6 2、LiteOS LiteOS是华为开发的轻量级实时操作系统: LiteOS源码GitHub仓库链接: https://github.com/LiteOS/LiteOS 其源码一级目录结构如下: 其内核包括任务管理、内存管理、时间管理、通信机制、中断管理、队列管...

嵌入式大杂烩 5990

Modelsim10.5_se安装(Win11)

modelsim是Mentor公司开发的优秀的HDL语言仿真软件。它能提供友好的仿真环境,采用单内核支持VHDL和Verilog混合仿真的仿真器。它采用直接优化的编译技术、Tcl/Tk技术和单一内核仿真技术,编译仿真速度快且编译的代码与平台无关。

m0_51186267的博客 9913

Android从Camera中获取图片的两种方法

方法一: 此方法会由Camera直接产生照片回传给应用程序,但是返回的是压缩图片,显示不清晰 ? 1 2 3 4 5 6 try { Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResu...

weixin_30418341的博客 231

手把手教你用QEMU虚拟化华为路由器固件(附完整网络配置指南)

本文提供了一份详尽的QEMU虚拟化华为路由器固件的实战指南。从固件解包、网络桥接配置到QEMU虚拟机启动,手把手教你搭建完整的嵌入式设备沙箱环境,特别适合安全研究、逆向分析和学习嵌入式系统工作原理。

tgb3456789的博客 937

Android Camera2 Image

如果图像是通过 ImageWriter.dequeueInputImage() 从 ImageWriter 获取的,则调用此方法后,应用程序填充的任何图像数据都将丢失,并且图像将返回给 ImageWriter 以供重用。(不支持的用例包括通过 MediaCodec 获取的 Image 实例,以及 Android P 之前的版本上的 ImageWriter)。例如,当使用 ImageReader 类从各种媒体源读取图像时,一旦达到最大未完成图像计数,不关闭旧的 Image 对象将阻止新图像的可用性。

闲暇部落 1744

【OpenClaw企业级智能体实战】第13篇:1+N架构实战!OpenClaw多Agent数字员工军团搭建指南(含完整配置+路由策略+代码落地)

单Agent因“记忆负担重、Token消耗高、响应不精准”已难以满足复杂场景需求,而多Agent团队通过“1个编排者+N个执行者”的分工协作模式,能让效率提升300%以上。本文基于OpenClaw 2026稳定版,结合阿里云开发者社区实战案例,从核心认知、准备工作、实操流程、协作机制、安全配置五大维度,完整拆解多Agent团队搭建全流程。文中包含可直接复制执行的代码、详细配置模板、路由策略设置及常见问题排查,新手可在1-2小时内落地属于自己的“数字员工”军团,覆盖内容创作、技术支持、多平台运营等多场景。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 745

基于深度学习的水质预测:多参数监测与预测

首先,我们需要收集水质监测的多参数数据。收集到的数据应包括不同时间点的水质参数值以及相应的水质等级标签,用于训练和评估深度学习模型。同时,数据的质量和数量对于模型的性能也有重要影响,因此在实际应用中需要充分考虑数据的采集和处理过程。总之,基于深度学习的水质预测可以通过收集水质监测的多参数数据并使用适当的深度学习模型进行训练和预测来实现。通过以上的深度学习模型,我们可以利用水质监测的多参数数据进行水质预测。这种基于深度学习的方法可以提高水质预测的准确性和稳定性,为水质监测和环境保护提供有力支持。

web_bug407的博客 1103

Android Demo:读取本地图库与调用摄像头拍摄

本文主要介绍如何读取Android本地图库的图片以及调用安卓的摄像头进行拍摄。 一、布局 布局比较简单,MainActviivty的布局文件只有两个按钮,一个是读取图库的,另一个是打开摄像头的,另外ResultActivity的布局只有一个ImageView,用于显示所选择的图片或者所拍摄的图片。 二、读取图库 由于需要打开安卓自带的图库,所以我们需要用到Intent这个类

蓝天白云梦的csdn博客 3538

高熵合金AlCoCrFeNi/金刚石摩擦案例代码

本文介绍金刚石与高熵合金AlCoCrFeNi摩擦的案例。 在之前的文章中,介绍过使用fix indent命令实现虚拟球的摩擦,本文介绍使用金刚石实体球实现高熵合金摩擦的方法。 主要的模拟过程如下: (1)基体建模 建使用原子替换法获得高熵合金初始模型,升温到3000K驰豫后,冷却至300K,获得平衡组织。 (2)摩擦球建模 在高熵合金平衡组织的模型中添加金刚石摩擦球,使用change_box命令扩大box尺寸,添加金刚石摩擦球,并设置混合力场。 (3)摩擦过程 摩擦球下压一定深度后,沿y方向进行摩擦,摩擦

lammps_jiayou的博客 2900

android加载本地图库,Android读取本地图库与调用摄像头拍摄

本文主要介绍如何读取Android本地图库的图片以及调用安卓的摄像头进行拍摄。一、布局布局比较简单,MainActviivty的布局文件只有两个按钮,一个是读取图库的,另一个是打开摄像头的,另外ResultActivity的布局只有一个ImageView,用于显示所选择的图片或者所拍摄的图片。二、读取图库由于需要打开安卓自带的图库,所以我们需要用到Intent这个类,主要用于不同Activity之...

weixin_35161750的博客 687

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

android读取外部图片,Android读取本地图库与调用摄像头拍摄

本文主要介绍如何读取Android本地图库的图片以及调用安卓的摄像头进行拍摄。一、布局布局比较简单,MainActviivty的布局文件只有两个按钮,一个是读取图库的,另一个是打开摄像头的,另外ResultActivity的布局只有一个ImageView,用于显示所选择的图片或者所拍摄的图片。二、读取图库由于需要打开安卓自带的图库,所以我们需要用到Intent这个类,主要用于不同Activity之...

weixin_42576410的博客 513

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

使用android camera2api编写自定义相机时,如何试拍摄的图片在图库可见

文章目录描述代码 描述 在学习使用Camera 2 自定义相机时,拍摄的照片由于保存到了私有目录下,在系统相册中看不见,结合这篇文章和官方文档得以解决 代码 创建setOnImageAvailableListener,监听ImageReader的事件,当有图像流数据可用时会回调onImageAvailable方法,就在此方法中,进行图像的保存操作 //监听ImageReader的事件,当有图像流数据可用时会回调onImageAvailable方法,它的参数就是预览帧数据,可以对这帧数据进行处理

Yrainy_D的博客 871

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

android 相机和照片一起_Android-----调用系统相机拍照并把照片展示在图库中

public classMainActivity extends AppCompatActivity implements View.OnClickListener{privateButton takePhoto , btn_setting , btn_write , btn_mske , btn_icon;private Uri imageUri;//图片路径private String fil...

weixin_39939665的博客 230

Android拍照或从图库选择图片并裁剪

一、 拍照选择图片 1、使用隐式Intent启动相机 //构建隐式Intent Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); //调用系统相机 startActivityForResult(intent, 1);12341234 2、处理相机拍照返回的结果 //用户点击了取消 if(data == null

雷新伟的博客 2034

Android选择本地图片或者照片裁剪

/**  *   * @author   *  */ public class PersonalCenterFragment extends Fragment implements OnClickListener{ private static final int PHOTO_REQUEST_CAMERA = 1;// 拍照 private static final int PHOT

zhouxuebao87的专栏 569

安卓获取相册照片和获取拍照照片

从图库获取图片、调用照相机照相,这是几乎每个社交程序都会有的功能

Hansion的博客 2568

android 从相机或者相册获取照片!

最近项目用到调用相机,给出代码,只是调用的android api 给的接口 上代码: 1.  ackage com.ray.test;   2.     3.  import android.app.Activity;   4.  import android.app.AlertDialog;   5.  import android.content.ActivityNotFou

chenghai2011的专栏 2441

android 拍照裁剪图片,Android实现从本地图库/相机拍照后裁剪图片并设置头像

玩qq或者是微信的盆友都知道,这些聊天工具里都要设置头像,一般情况下大家的解决办法是从本地图库选择图片或是从相机拍照,然后根据自己的喜爱截取图片。上述过程已经实现好了,最后一步我加上了把截取好的图片在保存到本地的操作,来保存头像。为了大家需要,下面脚本之家小编把完整的代码贴出来供大家参考。先给大家展示效果图: 代码部分:布局代码(其实就是两个按钮和一个ImageView来显示头像)android:...

weixin_34553415的博客 623

Android NDK开发详解相机之拍照[已废弃]

原生开发套件 (NDK) 是一套工具,使您能够在 Android 应用中使用 C 和 C++ 代码,并提供众多平台库,您可使用这些平台库管理原生 activity 和访问实体设备组件,例如传感器和触控输入。NDK 可能不适合大多数 Android 编程初学者,这些初学者只需使用 Java 代码和框架 API 开发应用

hnjzfwy的博客 186

Android 拍照或者从相册获取图片,加上水印并保存到本地(带效果图)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 本篇博客主要讲述拍照和从相册获取到图片,加上水印的效果,并保存到手机本地,Android 11以下 提示:以下是本篇文章正文内容,下面案例可供参考 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 提示:这里对文章进行总结: 例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便

奇奇怪怪的Android code的博客 3652

安卓手机拍照未显示到图库中参考办法

String mAppImageFile = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath(); camButton.setOnClickListener(new View.OnClickListener() { @Override

u014352886的博客 589

android 8.0 SnapdragonCamera 拍照存储到SD卡后,在SD卡中没有显示

在设置里选择存储到SD卡后,其实拍的照片已经存储到SD卡中了,只是和以前存储的路径不同了,这个与android 8.0修改了SD卡的权限有关。 虽然可以不改,但是如果不改会存在插拔SD卡后,相机中拍摄的照片不在图库中显示。 src/com/android/camera/SDCard.java diff --git a/src/com/android/camera/SDCard.java b/src...

qq_29680135的博客 588
上一篇: XRecyclerview用法以及遇到的一些问题
下一篇: Android 高德地图获取屏幕中心的经纬度坐标
水月沐风
博客等级 码龄10年 186粉丝 95原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值