android获取预览图片怎么获取一张图片 10C

public class MainActivity extends AppCompatActivity {
private SurfaceView sv_camera_surfaceview;
private android.hardware.Camera camera;
private SurfaceHolder surfaceholder;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    sv_camera_surfaceview = (SurfaceView) findViewById(R.id.sv_camera_sufaceview);
    sv_camera_surfaceview.getHolder().addCallback(new SurfaceHolder.Callback() {

        @Override
        public void surfaceCreated(SurfaceHolder holder) {
            camera = Camera.open();//开启摄像头

        }

        @Override
        public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
            Camera.Parameters parameters = camera.getParameters();
            parameters.setPictureFormat(ImageFormat.NV21);
            parameters.setPreviewFormat(ImageFormat.NV21);

            //parameters.setPictureFormat(ImageFormat.NV21);
            //设置格式
            //parameters.getSupportedPictureSizes();
            //parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);//自动聚焦
            //parameters.setPreviewSize(900,240);
         /*  WindowManager windowManager = getWindowManager();
          Display display = windowManager.getDefaultDisplay();
           int screenWidth = screenWidth = display.getWidth();
           int screenHeight = screenHeight = display.getHeight();
            parameters.setPictureSize(screenWidth, screenHeight);*/
            //camera.Size(100,50);
            //  parameters.setPictureSize(500,80);
            // parameters.set("YCbCr_420_SP",100);
            //List<android.support.annotation.Size>picturesize=camera.getParameters().getSupportedPictureSizes();
            // List<Camera.Size> picturesize=camera.getParameters().getSupportedPictureSizes();
           /*List<Camera.Size>picturesize=camera.getParameters().getSupportedPictureSizes();
           List<Camera.Size>previewsize=camera.getParameters().getSupportedPreviewSizes();
            List<Integer> previewformats=camera.getParameters().getSupportedPreviewFormats();
           List<Integer> previewframerates=camera.getParameters().getSupportedPreviewFrameRates();
           //Lise<Integer>
            Size size=null;
            for (int  i=0 ;i<picturesize.size();i++){
              size= (Size) picturesize.get(i);
           }
          for (int i=0;i<previewsize.size();i++){
                size= (Size) previewsize.get(i);
            }
            Integer in=null;
            for (int i=0;i<previewformats.size();i++){
                in=previewformats.get(i);
            }
            parameters.setPictureSize(1080,1920);
            //camera.setParameters(parameters);
           // camera.startPreview();
          // int  previewWidth;
          //  int previewHeight;

           //List<Camera.Size>previerSizes=camera.getParameters().getPreviewSize();*/
            List<Camera.Size> pictureSize = camera.getParameters().getSupportedPictureSizes();
            List<Camera.Size> previewsize = camera.getParameters().getSupportedPreviewSizes();
            //List<int []> range=parameters.getSupportedPreviewFpsRange();

            Camera.Size size;
            // size.width=width;
            // size.height=height;
            for (int i = 0; i < pictureSize.size(); i++) {
                size = pictureSize.get(i);

            }
           for (int i = 0; i < previewsize.size(); i++) {
                size = previewsize.get(i);
            }
            /*for (int j=0;j<range.size();j++){
                int [] r=range.get(j);

            }*/

            //parameters.setPreviewFpsRange(30,30);
            parameters.setPictureSize(192,1080);
            parameters.setPreviewSize(1920,1080);
            //parameters.setPreviewFrameRate(30000);
            camera.setDisplayOrientation(0);//角度
            camera.setParameters(parameters);

            try {
                camera.setPreviewDisplay(sv_camera_surfaceview.getHolder());//实时预览
                camera.startPreview();

                /// /开启预览
            } catch (IOException e) {
                e.printStackTrace();
            }


             }

        @Override
        public void surfaceDestroyed(SurfaceHolder holder) {

        }
    });

}

public void takephoto(View view) {
camera.setPreviewCallback(new Camera.PreviewCallback() {
@Override
public void onPreviewFrame(byte[] data, Camera camera) {

                 //byte a=data[0];
              //if (data.length<=1) {
                  //System.arraycopy(data, 0, ImageFormat.NV21, 0, data.length);

                  FileOutputStream fileoutputstream ;

                  try {

                          fileoutputstream = new FileOutputStream(String.format("sdcard/DCIM/camera/" + System.currentTimeMillis() + "12"));
                          fileoutputstream.write(data);
                          fileoutputstream.close();
                          //YuvImage yuvImage=new YuvImage(data,ImageFormat.NV21,1080,1920,null);
                          //Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);


                  } catch (IOException e) {
                      e.printStackTrace();
                  }
              }


    });

}

}
    现在每次点击一次拍照都是获得很多张照片怎么只获得点击拍照最近的照片
0

3个回答

1

看看这个是否对你有用

1

1.在获取图片前先调用setDrawingCacheEnabled(true)这个方法:

举例:mImageView.setDrawingCacheEnabled(true);

2。之后可以通过getDrawingCache()获取图片

举例:Bitmap obmp = Bitmap.createBitmap(mImageView.getDrawingCache()); //获取到Bitmap的图片

3.获取完图片后记得调用setDrawingCacheEnabled(false)

举例:mImageView.setDrawingCacheEnabled(false);

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Android实现加载网页,获取网页上图以及点击图片预览图片
首先我是一个新手,自学Android几个月,先是看了《第一行代码》,第一版看完了之后才发现有第二版,就又把第二版新增加的一些内容看了。这本书个人感觉很适合初学者,能够较容易的看懂。接下来就自信满满的想要写出来一些功能强大,并且很实用的东西,但是真正开始写的时候才发现有些部分自己根本不知道该怎么写,即使百度出来人家的方法自己也看不懂。这才发现自己学的东西太少了,也就刚刚入了个门。于是,就又找了一些其
C#获取、计算图片主色调
获取一张图片的主色调,附代码。获取一张图片的主色调,附代码。
Android 获得最近一张拍照或截屏图片
类型微信那种,拍了一张照片或者截了屏 点击聊天加号 就会有个 弹框询问是否要发送那张图片;这里只是做了获取那张最新图片的代码,没有判断时间间隔
android 调用Camera,获取预览帧中的图像
1:说明 android开发实现Camera自定义的话,也并不是件难事,主要步骤如下: 打开相机,即实例化Camera对象,Camera camera = Camera.open(); 设置Camera的相关参数,Camera.Parameters parameters = camera.getParameters(); 打开预览,camera.setPreviewDisplay(surfaceh
android viewpager广告栏左右预览上下一张图片实现
zxc
从预览中获取图像帧
为什么这么顺利就解决了这个问题呢?这就要感谢我们亲爱的OpenCV了!在OpenCV中有一个很好用的类,叫做org.opencv.android.JavaCameraView。通过这个JavaCameraView,我们可以在其onCameraFrame()回调方法中获取图像帧。此时就可以对这个图像进行处理啦! 那么,这个又是怎么实现的呢?知其然不知其所以然的态度,程序员显然要不得。 实际上,J
android 模仿微信输入时获取最新一张截图或拍照相片
首先看看这张图片: 微信有个很好用户体验功能就是在输入时候提示你刚刚拍照的相片或者是截图的图片,可以快速输入。 实际上是通过内容提供者来从截图或者拍照文件中获取最新的图片进行时间对比来选择最新一张,我们来看看代码实现。 已经封装成工具类直接可以使用: package com.chengxing.cxsdk; import android.content.Context; impo...
Android调用Camera,获取预览帧中的图像
1:说明 Android开发实现Camera自定义的话,也并不是件难事,主要步骤如下: 打开相机,即实例化Camera对象,Camera camera = Camera.open();设置Camera的相关参数,Camera.Parameters parameters = camera.getParameters();打开预览,camera.setPreviewDisplay(surfa
android:通过相机预览获取预览数据,并将其转为图片方式本地处理
1、简介 2、camera参数设置 3、布局设置 4、获取预览回调参数 5、常见问题 1、简介 在调用相机时我们经常需要获取预览信息,比如人脸比对时需要将相机的流截取出来转为图片,用于人脸识别。 2、camera参数设置 2.1 创建Camera对象 在Activity的Oncreate()中开启相机; if(mCamera==null){ if(bfrontSwi...
关于AndroidStudio中引用MipMap图片资源无法预览的问题研究
今天在使用AndroidStudio引用MipMap的时候碰到了一些问题,在引用图片资源的时候,发现在AS中无法用代码提示写出MipMap 在引入图片资源之后,在预览中无法预览出图片的样子,这样很不方便调试。经过一番百度之后,发现了结局方法,记录一下方便自己以后查看: 首先会提示报错 Rendering Problems the following classes could not
Android 自定义相机获取照片(屏幕适配)
1.在应用程序中自定义相机拍照的大体步骤如下:       1.检测和访问相机:检测设备是否支持拍照,然后发出访问设备相机请求。        2.创建一个预览类:创建一个继承自类SurfaceView和实现接口SurfaceHolder接口的相机预览类,这个类用来预览从相机得到的实时的图片.。        3.新建一个预览布局:一旦创建了相机预览类,还需要创建一个可以包含预览界面且可以操
html选择本地图片即时预览
最近在做一个.net mvc的网站,想让用户在网页中上传图片的过程中预览图片,本以为很简单,以为可以直接在html中解决,百度了很多才发现貌似挺麻烦,综合一些大神的回答,总结了一下。 完成此类操作,一般都用到了FileReader功能,从文件中读取数据保存到JS变量中;HTML DOM getElementById方法,可返回对拥有指定ID的第一个对象的引用。 Code: ...
ImageView显示视频的第一帧图片&&VideoView视频播放
ImageView显示视频的第一帧图片&&VideoView视频播放我们在播放视频时,为了增强用户体验,在视频未播放时,需要显示视频的第一帧图片,增强用户体验。效果如图:在android中系统提供了一个类MediaMetadataRetriever,可以帮我们获取视频的第一帧数据,当然,其他帧图片也是可以获取的。下面来看具体代码:布局文件:<?xml version="1.0" encoding="
android获取sd卡最后一张照片
public String getimagepath () { String path = null; /**     * 获取sd卡最后一张照片     */     ContentResolver mResolver = MainActivity.this.getContentResolver();     String[] projection = new String[]{Me
Android 获取本地视频缩略图和某一帧的预览图
获取本地视频缩略图和某一帧的预览图由于项目需要显示本地视频的预览图 刚开始用缩略图可以显示(海马玩模拟器不可以 =.= 其他的没试)但是显示了不清晰因为是缩略图嘛 之后又找了一个预览某一帧的图片,很好用 特此记录。
input文件框选择本地图片后页面预览图片并获取图片长宽以及大小 图片上传前预览
前面有转过一篇通过HTML5来实现图片上传前预览 ,现在借助FileReader也实现了这个需求。并且同时还可以获得图片的长宽相素以及图片文件的大小。demo如下: $(function(){ $("#pstimg").change(function(){ var file = this.files[0]; alert("文件大小:"+(file.size / 10
android 如何从网络获取一张图片并显示
如何从网络中获取一张图片,并显示出来?? 首先应想到若要从网络资源中获取图片,就需要通过流操作,于是就想到如何创建流。 第一步:指定图片资源的URL 第二步:通过RUL获取一个connection 第三步:通过连接获取出入流 第四步:利用BitmapFactory.decodeStream()方法直接将图片流解码为bitmap 第五步:送去显示
android获取PDF文件的缩略图
最近做个开发区宣传app,需要展示pdf文件,界面需要缩略图。 使用pdfview插件,进行操作 代码为 private static Bitmap getPDFThumbnail(String filePath) { PdfContext pdfContext =new PdfContext(); PdfDocument pdfDocument=(PdfDocument)p
Compass.zip
一个简单的android指南针开发,一张图片,获取传感器和三个方向的加速度,输出加速度并且图片根据加速度旋转。
判断ImageView当前的图片是哪个图片,然后根据当前图片来做一些操作
今天在项目中遇到了收藏功能,一开始按照我在iOS中的实现方法,但是在安卓中实现起来太过麻烦,因为我是安卓菜鸟,所以才会很难实现吧,各位大神勿喷,我就想到了下面这个方法,通过判断当前ImageView设置的图片是不是未收藏的图片,如果是的,设置成收藏图片,如果是收藏图片,就设置成未收藏图片,来判断当前的图片,来实现收藏效果,下面附上判断代码块。if (collection.getDrawable().
利用Android Camera2 的照相机api 实现 实时的图像采集与预览
最近想要做一个客户端往服务器推送实时画面的功能,首先可以考虑到两种思路,一种是在客户端进行视频流的推送,主要利用RTSP等流媒体协议进行传输,而另外一种是通过摄像头获取当前画面,将每一帧作为对象单独传输。    项目想要实现的功能最终目的是对实时画面的每一帧进行处理,可以考虑客户端推流到服务器,再在服务器进行帧解析的操作,但由于目前很多的流媒体推送框架在推流端或者服务端都或多或少存在限制
android视频加载预览图
package demo.pplive.com.imagepoint; import android.content.Context; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; impor
android 获得最近一次拍照 截屏 下载等,的图片路径
/** * 本次查询的就是针对 相机里面的图片进行搜查,获得最近一排的一张照片,的路径 * @param path =/storage/emulated/0/DCIM/Camera 默认值; 路径为空时:默认值 * @param name =head.jpg 这个不能为空 * * @param path_name eg:= /storage/emulat
使用FormData格式上传图像并预览图片
前言 做项目时,遇到表单中图像需要跟表单一起提交,这样会造成后台没办法接收到图片。后面上网调查后,明白表单提交时是默认application/x-www-form-urlencoded格式,只接受键值对。所以以下例子采用FormData格式异步提交表单,因为formData格式可以接收文件格式。 具体流程 1.引入maven <dependency> <groupId>com
使用SurfaceView绘制一张图片。
明明可以使用imageview显示图片或者使用自定义View的ondraw()绘制一张图片,为什么要用surfaceView这么复杂的东西去绘制图片? 因为Android系统是每隔16ms发出VSYNC信号来进行屏幕的重绘,这个重绘是在主线程中的。一旦主线程中的绘制任务时长超过16ms,就会出现卡帧现象。(之前项目在一个界面同时显示时钟每秒刷新和文字跑马灯效果,每次秒数刷新时便会出现跑马灯卡顿...
Android视频录制及提取图片操作
本人也是初学者,但经过长时间的努力,弄出了点成果。在这里总结一下,免得以后会忘掉。现在实现的功能是拍摄视频,并对视频进行处理。将视频提取出指定数目的图片。 在保存视频的时候,会遇到编码格式的问题,楼主之前也被这个问题困扰了好久,对于不同的机型,编码格式是不同的。所以我们在保存的时候应该获取使用手机的编码格式: //获取当前手机视频的编码格式 profile = CamcorderProfil
android 点击一个按钮,选择一张图片,获取路径,然后显示在屏幕
// 请在点击事件中调用此函数 int REQUEST_CODE_SELECT_PIC = 120; private void selectPicture() { Intent intent = new Intent(); intent.setAction(Intent.ACTION_PICK); intent.setType("image/*");
Android PDF截取封面:PDF缩略图预览效果
最近有一个需求,在不打开文档的情况下,为每个pdf生成一张缩略图,显示在界面上。那么怎么做呢? 相信大家对pdf进行开发时,都会用到一个框架:pdfview。 至于pdfview如何使用,我就不班门弄斧了,使用起来也非常简单,附上使用连接:http://www.mobile-open.com/2015/38396.html 接下来就是重点,怎么截图呢?关键代码如下: PdfContext
Android使用VideoView播放网络视频,获取网络视频缩略图
网络视频播放
anroid VideoView开始播放前设置视频缩略图
我需求是这样的:当进入到视频播放界面的时候,播放器上面显示该视频的缩略图和播放按钮,当点击播放按钮后缩略图隐藏,才开始播放视频.如下图: 我的缩略图是从服务器获取的,获取到缩略图后, videoView.setBackground(thumbnail);当播放器准备就绪后, private final MediaPlayer.OnPreparedListener onPrepared
一行代码解决Android中图片加载、图片压缩、图片保存、获取缩略图、图片转换等相关问题
一行代码解决Android中图片加载、图片压缩、图片保存、获取缩略图、图片转换等相关问题 Android开发中经常要与图片打交道,比如图片的加载显示,网络传输时候,要对图片压缩之后传输,显示图片之前要先显示缩略图等等相关需求。根据相关的资料,我们可以知道图片的压缩有常用几种方法。 项目地址: 官网地址 其它信息 源码地址 最新版本 版本号:1.0.0.5 使用自行替换依赖的版本号,以获得最新版本。...
Ext怎样在上传图片之前预览
看了半天发现ext的上传图片的组件里面有2个input 第一个是显示图片名字的 不用管它; 我们要第二个 获取里面的路径 document.getElementById("photoshowup-button-fileInputEl").files.item(0) 这个会得到一个数据 我这个预览图片就是把得到的这个数据在reader出来 这个是reader后的图片
android获取图片尺寸的两种方法以及bitmap的缩放
//Uri.parse("file://"+result.getImage().getCompressPath())) String path=uri.getPath(); Log.e("图片路径",path+""); SpannableString spannableString=new SpannableString(path);
Android获取手机本地图片缩略图
首先,提取图片和视频的缩略图可以直接访问Android系统数据库: 1 android.provider.MediaStore.Images.Thumbnails 2 android.provider.MediaStore.Video.Thumbnails 这两个数据库,即可查询出来缩略图 可以根据下面方法获取 public long getDbId(String path, b
Android实现拍照或从相册中获取图片并且显示圆形图片
一般我们在使用一些app的注册功能时,都被提供了拍照或者是从相册中获取图片这两种选择,同时目前我们的用户选取的头像好像是约定俗成一样,都是圆形图片,按照我前两篇博客《Android利用okhttp实现图片上传之安卓客户端请求》和《Java后台实现一个用户登录注册的Servlet以及对数据库的处理》中的讲解,虽然讲解了客户端怎么上传用户信息(含头像信息),和服务端怎么对客户端上传的图片进行处理,但是...
android Webview读取网页里的所有图片,并实现点击放大
Webview读取网页里的所有图片,并实现点击放大,图片集观看,图片缩放
android 计算图片大小
public class FileSizeUtil { public static final int SIZETYPE_B = 1;// 获取文件大小单位为B的double值 public static final int SIZETYPE_KB = 2;// 获取文件大小单位为KB的double值 public static final int SIZETYPE_MB
js上传视频并截取缩略图
&amp;lt;!DOCTYPE html&amp;gt; &amp;lt;html&amp;gt; &amp;lt;head&amp;gt; &amp;lt;title&amp;gt;&amp;lt;/title&amp;gt; &amp;lt;meta charset=&quot;utf-8&quot;&amp;gt; &amp;lt;/head&amp;gt; &amp;lt;body&amp;gt; &amp;lt;input type=&quot;file&quot; name=
android获取图片原始长宽
在android里面要要取一张96 x 96像素每个像素点的RGB值然后处理,但是一开始直接读取Bitmap mBitmap =BitmapFactory.decodeResource(getResources(), R.drawable.jimg001); int width=opts.outWidth; int height=opts.outHeight; 这样读出来的值却实变成了14
从一张大图里面获取各种小图标
.lifearea { width: 299px; margin: 200px auto; } .la_ul li { width: 72px; height: 60px; border: 1px solid #98FB98; float: left; margin-left: -1px; margin-top:
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 学习java图片 图片网页制作视频