精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Android調用Camera實現(xiàn)自定義照相

移動開發(fā) Android
本文介紹了在Android開發(fā)中調用Camera實現(xiàn)自定義照相的具體實現(xiàn)代碼。可以直接加入工程中,希望大家喜歡。

首先是布局文件,線性布局,左邊兩個按鈕垂直擺放,右邊預覽圖以及照相獲取到的圖:

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  3.     android:layout_width="fill_parent" 
  4.     android:layout_height="fill_parent" 
  5.     android:orientation="horizontal" > 
  6.  
  7.     <LinearLayout 
  8.         android:layout_width="200dip" 
  9.         android:layout_height="150dip" 
  10.         android:orientation="vertical" > 
  11.  
  12.         <Button 
  13.             android:id="@+id/btn1" 
  14.             android:layout_width="80dip" 
  15.             android:layout_height="50dip" 
  16.             android:text="Start takPic" /> 
  17.  
  18.         <Button 
  19.             android:id="@+id/btn2" 
  20.             android:layout_width="80dip" 
  21.             android:layout_height="50dip" 
  22.             android:text="Get Pic" /> 
  23.     </LinearLayout> 
  24.  
  25.     <LinearLayout 
  26.         android:id="@+id/cameraView" 
  27.         android:layout_width="200dip" 
  28.         android:layout_height="150dip" 
  29.         android:orientation="vertical" > 
  30.     </LinearLayout> 
  31.  
  32. </LinearLayout> 

代碼,都寫在一起的。包含一個自定義的surfaceView(用于相機的照相預覽).以及activit:

  1. package com.nico; 
  2.  
  3. import java.io.ByteArrayInputStream; 
  4. import java.io.IOException; 
  5.  
  6. import android.app.Activity; 
  7. import android.content.Context; 
  8. import android.graphics.PixelFormat; 
  9. import android.graphics.drawable.BitmapDrawable; 
  10. import android.graphics.drawable.Drawable; 
  11. import android.hardware.Camera; 
  12. import android.os.Bundle; 
  13. import android.os.Environment; 
  14. import android.util.Log; 
  15. import android.view.SurfaceHolder; 
  16. import android.view.SurfaceView; 
  17. import android.view.View; 
  18. import android.view.Window; 
  19. import android.view.WindowManager; 
  20. import android.view.View.OnClickListener; 
  21. import android.widget.Button; 
  22. import android.widget.LinearLayout; 
  23.  
  24. public class Test extends Activity implements OnClickListener { 
  25.     /** Called when the activity is first created. */ 
  26.  
  27.     // camera 類 
  28.     private Camera camera = null
  29.     // 繼承surfaceView的自定義view 用于存放照相的圖片 
  30.     private CameraView cv = null
  31.  
  32.     // 回調用的picture,實現(xiàn)里邊的onPictureTaken方法,其中byte[]數(shù)組即為照相后獲取到的圖片信息 
  33.     private Camera.PictureCallback picture = new Camera.PictureCallback() { 
  34.  
  35.         @Override 
  36.         public void onPictureTaken(byte[] data, Camera camera) { 
  37.             // 主要就是將圖片轉化成drawable,設置為固定區(qū)域的背景(展示圖片),當然也可以直接在布局文件里放一個surfaceView供使用。 
  38.             ByteArrayInputStream bais = new ByteArrayInputStream(data); 
  39.             Drawable d = BitmapDrawable.createFromStream(bais, Environment 
  40.                     .getExternalStorageDirectory().getAbsolutePath() 
  41.                     + "/img.jpeg"); 
  42.             l.setBackgroundDrawable(d); 
  43.             try { 
  44.             } catch (Exception e) { 
  45.                 e.printStackTrace(); 
  46.             } 
  47.         } 
  48.  
  49.     }; 
  50.  
  51.     // 按鈕 布局等定義,不作贅述 
  52.     Button btn1 = null
  53.     Button btn2 = null
  54.     LinearLayout l = null
  55.  
  56.     @Override 
  57.     public void onCreate(Bundle savedInstanceState) { 
  58.         super.onCreate(savedInstanceState); 
  59.  
  60.         requestWindowFeature(Window.FEATURE_NO_TITLE); 
  61.         getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
  62.                 WindowManager.LayoutParams.FLAG_FULLSCREEN); 
  63.         getWindow().setFormat(PixelFormat.TRANSLUCENT); 
  64.         setContentView(R.layout.main); 
  65.  
  66.         l = (LinearLayout) findViewById(R.id.cameraView); 
  67.         btn1 = (Button) findViewById(R.id.btn1); 
  68.         btn2 = (Button) findViewById(R.id.btn2); 
  69.  
  70.         btn1.setOnClickListener(this); 
  71.         btn2.setOnClickListener(this); 
  72.     } 
  73.  
  74.     //主要的surfaceView,負責展示預覽圖片,camera的開關 
  75.     class CameraView extends SurfaceView { 
  76.  
  77.         // 
  78.         private SurfaceHolder holder = null
  79.  
  80.         public CameraView(Context context) { 
  81.             super(context); 
  82.             holder = this.getHolder(); 
  83.  
  84.             holder.addCallback(new SurfaceHolder.Callback() { 
  85.  
  86.                 @Override 
  87.                 public void surfaceChanged(SurfaceHolder holder, int format, 
  88.                         int width, int height) { 
  89.                     Camera.Parameters parameters = camera.getParameters(); 
  90.                     //以下注釋掉的是設置預覽時的圖像以及拍照的一些參數(shù) 
  91.                     // parameters.setPictureFormat(PixelFormat.JPEG); 
  92.                     // parameters.setPreviewSize(parameters.getPictureSize().width, 
  93.                     // parameters.getPictureSize().height); 
  94.                     // parameters.setFocusMode("auto"); 
  95.                     // parameters.setPictureSize(width, height); 
  96.                     camera.setParameters(parameters); 
  97.                     camera.startPreview(); 
  98.                 } 
  99.  
  100.                 @Override 
  101.                 public void surfaceCreated(SurfaceHolder holder) { 
  102.                     camera = Camera.open(); 
  103.  
  104.                     try { 
  105.                         //設置camera預覽的角度,因為默認圖片是傾斜90度的 
  106.                         camera.setDisplayOrientation(90); 
  107.                         //設置holder主要是用于surfaceView的圖片的實時預覽,以及獲取圖片等功能,可以理解為控制camera的操作.. 
  108.                         camera.setPreviewDisplay(holder); 
  109.                     } catch (IOException e) { 
  110.                         camera.release(); 
  111.                         camera = null
  112.                         e.printStackTrace(); 
  113.                     } 
  114.  
  115.                 } 
  116.  
  117.                 @Override 
  118.                 public void surfaceDestroyed(SurfaceHolder holder) { 
  119.                     //顧名思義可以看懂 
  120.                     camera.stopPreview(); 
  121.                     camera.release(); 
  122.                     camera = null
  123.                 } 
  124.             }); 
  125. //          holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); 
  126.         } 
  127.     } 
  128.  
  129.     @Override 
  130.     public void onClick(View v) { 
  131.         if (v == btn1) { 
  132.             l.removeAllViews(); 
  133.             cv = new CameraView(Test.this); 
  134.             LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( 
  135.                     LinearLayout.LayoutParams.FILL_PARENT, 
  136.                     LinearLayout.LayoutParams.FILL_PARENT); 
  137.             l.addView(cv, params); 
  138.         } else if (v == btn2) { 
  139.             camera.takePicture(nullnull, picture); 
  140.         } 
  141.     } 
  142. }
責任編輯:徐川 來源: ITEYE
相關推薦

2021-11-01 17:31:21

Camera2 相機開發(fā)

2016-12-26 15:25:59

Android自定義View

2016-11-16 21:55:55

源碼分析自定義view androi

2010-09-14 16:59:39

SQL自定義函數(shù)

2013-04-01 14:35:10

Android開發(fā)Android自定義x

2014-12-30 11:51:35

ListViewItem View

2013-01-06 10:43:54

Android開發(fā)View特效

2009-09-07 22:00:15

LINQ自定義

2022-05-18 07:44:13

自定義菜單前端

2017-05-19 10:03:31

AndroidBaseAdapter實踐

2016-04-12 10:07:55

AndroidViewList

2017-05-18 12:36:16

android萬能適配器列表視圖

2010-02-07 14:02:16

Android 界面

2018-06-21 14:46:03

Spring Boot異步調用

2015-02-12 15:33:43

微信SDK

2022-04-01 15:59:22

SQLPostgreSQL審計

2015-07-29 10:31:16

Java緩存算法

2022-12-07 08:56:27

SpringMVC核心組件

2023-01-03 07:40:27

自定義滑塊組件

2009-09-03 13:34:03

.NET自定義控件
點贊
收藏

51CTO技術棧公眾號

污污的网站18| 色综合久久av| 人人干人人干人人干| 欧美尿孔扩张虐视频| 欧美日韩国产一区二区| 免费国产在线精品一区二区三区| 一级成人黄色片| 精品美女在线视频| 欧美一区二区三区不卡| 九一国产精品视频| 午夜精品一区| 国产精品18久久久久久久久| 97欧美精品一区二区三区| 国产jk精品白丝av在线观看| 成人在线视频www| 欧美日韩色婷婷| 亚洲美女搞黄| 蜜桃视频在线观看www| 日韩经典一区二区| 欧美精品成人91久久久久久久| 最新中文字幕视频| 久久伦理中文字幕| 色8久久人人97超碰香蕉987| 日韩不卡视频一区二区| 日本国产在线| 国产成人精品一区二区三区四区 | 国产日韩精品在线观看| 激情四射综合网| 成人羞羞网站入口| 亚洲国产精品嫩草影院久久| 亚欧激情乱码久久久久久久久| free性护士videos欧美| 日韩美女啊v在线免费观看| 久久伦理网站| 亚洲精品第五页| 久久精品国产一区二区三| 91精品国产免费久久久久久| 日本一级特级毛片视频| 精品国产91| 亚洲精品99999| 一二三av在线| 亚洲精品三区| 欧美三级欧美一级| 女性隐私黄www网站视频| 欧美精品videossex少妇| 一区精品在线播放| 午夜一区二区三区| 国产日产精品久久久久久婷婷| 不卡大黄网站免费看| 444亚洲人体| 国产精品乱码久久久| 日韩黄色片在线观看| 992tv成人免费影院| 免费又黄又爽又色的视频| 91精品国产调教在线观看| 中文字幕无线精品亚洲乱码一区 | 欧美一级在线视频| 国产精品久久久毛片| 国产一区二区主播在线| 欧美色道久久88综合亚洲精品| 国产欧美日韩网站| 成人观看网址| 性欧美疯狂xxxxbbbb| 欧美精品久久久久久久久久久| 国产精品剧情| 亚洲精品国产a久久久久久| 国产资源第一页| 亚洲色图美国十次| 亚洲国产日韩在线一区模特| 欧美极品少妇无套实战| 超清av在线| 婷婷激情综合网| 国产一区亚洲二区三区| 日韩欧美精品一区二区综合视频| 91精品福利视频| 午夜在线观看av| 亚洲91在线| 欧美一区二区三区四区视频| 亚洲国产日韩在线一区| 9国产精品午夜| 日韩av在线高清| 久久精品无码一区| 久久在线播放| 久久99精品视频一区97| 国产精品第9页| 久久只有精品| 国产综合视频在线观看| 亚洲国产精品国自产拍久久| av午夜一区麻豆| 欧洲一区二区日韩在线视频观看免费| 97在线观看免费观看高清 | 精品久久蜜桃| 成人免费在线电影| 18欧美乱大交hd1984| 精品久久久无码人妻字幂| 国产美女情趣调教h一区二区| 欧美日韩免费在线观看| 久久国产这里只有精品| swag国产精品一区二区| 亚洲欧美日韩一区在线| 亚洲精品电影院| 影音先锋日韩资源| 国产精品v片在线观看不卡| 国产免费叼嘿网站免费| 9l国产精品久久久久麻豆| 四虎永久国产精品| 日本乱理伦在线| 91国产福利在线| 日韩欧美色视频| 蜜臀久久99精品久久一区二区| 日韩中文字幕第一页| 国产午夜精品一区二区理论影院| 日韩制服丝袜先锋影音| 97视频中文字幕| 成人在线免费看| 亚洲第一av色| 不卡中文字幕在线观看| 香蕉久久夜色精品国产更新时间| 久久视频在线直播| 国产日韩在线免费观看| 成人av网站在线| 老司机av福利| 在线精品亚洲欧美日韩国产| 日韩一区二区三区三四区视频在线观看| 亚洲综合自拍网| 一级毛片免费高清中文字幕久久网| 6080yy精品一区二区三区| 99热这里只有精品5| 久久久久久97三级| av在线播放亚洲| 视频一区日韩精品| 日韩资源在线观看| 无码人妻久久一区二区三区不卡| 成人午夜大片免费观看| 一区二区三区国| 深夜成人福利| 亚洲国产日韩精品在线| 久久久91视频| 国内外成人在线| 亚洲精品日韩精品| 韩国美女久久| 日韩精品在线免费观看| 国产乡下妇女做爰毛片| 国产成人亚洲精品狼色在线| 日韩精品久久久毛片一区二区| 男女羞羞在线观看| 亚洲电影天堂av | 成人在线免费视频观看| 欧美最猛黑人xxxx黑人猛叫黄| 成人免费视频国产免费麻豆| 亚洲精品免费看| 亚洲欧美日韩一二三区| 999久久久91| 国产伦精品一区二区三区精品视频| 毛片免费在线播放| 色香蕉久久蜜桃| 91精品人妻一区二区三区| 丝袜亚洲另类丝袜在线| 久久亚洲高清| 不卡av播放| 亚洲欧美日韩精品久久亚洲区| 中文字字幕在线中文| 91欧美一区二区| 亚洲精品乱码久久久久久自慰| 成人av激情人伦小说| 国内外成人免费激情在线视频| 亚洲国产www| 亚洲成a天堂v人片| 法国伦理少妇愉情| 日本中文字幕一区二区有限公司| 日韩一区二区电影在线观看| jizz亚洲女人高潮大叫| 中日韩美女免费视频网站在线观看 | 成人精品动漫一区二区三区| 欧美放荡办公室videos4k| 成人h动漫精品一区二区无码 | 激情综合网最新| 二级片在线观看| 高清精品xnxxcom| 青草青草久热精品视频在线网站| 久久av少妇| 欧美日韩精品一区二区在线播放| 91香蕉一区二区三区在线观看| 狠狠色狠狠色综合系列| 青青青青在线视频| 婷婷综合成人| 国产精品久久久久久亚洲调教| 岛国中文字幕在线| 亚洲成人黄色在线观看| 青青草视频在线观看免费| 国产精品久久久久久亚洲伦| 欧美熟妇另类久久久久久多毛| 激情91久久| 日韩免费三级| 日韩精品一区二区三区免费视频| 久久久久日韩精品久久久男男| 日本一区视频| 欧美日本一道本在线视频| 久久久久久久久久99| 国产亚洲成aⅴ人片在线观看 | 国产精品久久久久久久久久齐齐| 久久精品99无色码中文字幕 | 国产一级理论片| 国产午夜精品美女毛片视频| 深爱五月综合网| 亚洲一区日韩| 欧洲xxxxx| 九热爱视频精品视频| 亚洲一区二区三区香蕉| 日本三级一区| 久色乳综合思思在线视频| 三级毛片在线免费看| 91精品国产一区二区三区| 久久久久久久久久久久久av| 亚洲欧美国产三级| 无码一区二区三区在线| 国产suv精品一区二区三区| 嫩草影院国产精品| 亚洲欧洲一区| 欧美日韩亚洲国产成人| 神马久久一区二区三区| 不卡视频一区二区| 久久精品97| 日本精品一区二区三区在线| 午夜av在线播放| 视频在线观看一区二区| 蜜桃视频在线观看网站| 亚洲第一中文字幕| 亚洲va久久久噜噜噜无码久久| 日本乱人伦aⅴ精品| 日本熟女一区二区| 亚洲免费伊人电影| 干b视频在线观看| 91美女视频网站| 亚洲色图欧美日韩| 国产福利一区在线观看| 亚洲综合20p| 另类小说欧美激情| 久久午夜夜伦鲁鲁一区二区| 亚洲激情专区| 成人免费在线网| 欧美日本不卡高清| 青青草免费在线视频观看| 久久免费av| 日韩偷拍一区二区| 国产不卡一二三区| 欧美成ee人免费视频| 青青草久久爱| 激情五月综合色婷婷一区二区| 亚洲日本va| 国产精品久久九九| 国产96在线亚洲| 国产精品一级久久久| 成人影院中文字幕| 国产欧美韩日| 老司机成人在线| 国产精品久久久久久免费观看| 中文字幕一区日韩精品| 99视频在线播放| 中文无码日韩欧| 国产另类第一区| 欧美aaaaa级| 美女被啪啪一区二区| 国产成人手机高清在线观看网站| 欧美男人的天堂| 精品99在线| 色爱区成人综合网| 99精品视频在线| 日韩视频 中文字幕| 欧美日韩一区二区国产| 国产日韩av网站| 亚洲尤物精选| 日本在线观看免费视频| 麻豆成人在线观看| 国产又粗又猛大又黄又爽| 懂色av中文字幕一区二区三区| 亚洲一区二区三区四区av| 26uuu亚洲婷婷狠狠天堂| 日韩人妻无码精品综合区| 国产精品久久久99| 老妇女50岁三级| 天天色综合成人网| 国产精品自拍第一页| 欧美日韩一区三区四区| 亚洲经典一区二区三区| 日韩精品免费在线观看| 最新av网站在线观看| 九色精品美女在线| 天堂√中文最新版在线| 国产剧情久久久久久| 亚洲一区二区三区在线免费| 久久久久高清| 欧美1级片网站| 欧日韩免费视频| 日韩国产欧美在线视频| 日韩精品视频网址| 91视频免费看| 多男操一女视频| 午夜视频久久久久久| 中文字幕777| 精品国产一区二区三区av性色| 免费福利在线观看| 欧美另类暴力丝袜| 人人鲁人人莫人人爱精品| 91亚洲精品久久久久久久久久久久| 精品久久对白| 小说区视频区图片区| 一本色道久久精品| 一级做a爱视频| 91美女蜜桃在线| www欧美com| 欧洲一区二区av| 天堂在线视频免费观看| 最近2019好看的中文字幕免费| h片在线观看视频免费| 成人日韩av在线| 国产欧美日韩影院| 国产一线二线三线女| 精品中文字幕一区二区小辣椒| av网站有哪些| 一区二区三区在线免费播放 | 欧美精品久久99久久在免费线| 四虎在线视频| 欧美日韩不卡合集视频| 不卡亚洲精品| 麻豆av一区| 亚洲视频中文| 制服下的诱惑暮生| 中文字幕一区二区三区在线不卡 | 亚洲国内欧美| 性鲍视频在线观看| 国产精品视频在线看| 特级做a爱片免费69| 亚洲国产成人一区| 超鹏97在线| 成人深夜直播免费观看| 欧美老女人另类| 蜜臀久久99精品久久久酒店新书| 成人亚洲精品久久久久软件| 欧美日韩中文字幕在线观看| 欧美日韩另类国产亚洲欧美一级| 欧美男男同志| 日韩av电影手机在线观看| 老司机aⅴ在线精品导航| 美女扒开大腿让男人桶| 成人在线综合网| 欧美成欧美va| 欧美一个色资源| 在线观看a级片| 91在线观看免费高清完整版在线观看| 久久一区二区三区电影| 中国黄色片免费看| 国产精品乱人伦| 一炮成瘾1v1高h| 日韩小视频在线| 国产精品欧美一区二区三区不卡| 一区二区三区四区五区视频| 日本不卡高清视频| 综合 欧美 亚洲日本| 欧美日韩大陆一区二区| 91在线网址| 成人亚洲综合色就1024| 91亚洲一区| 中文字幕 欧美日韩| 亚洲三级理论片| 性猛交xxxx乱大交孕妇印度| 欧美裸体xxxx极品少妇| 91麻豆精品激情在线观看最新| 欧美中文字幕在线观看视频| 成人妖精视频yjsp地址| 99热在线观看免费精品| 亚洲欧美在线x视频| 欧美亚洲大片| 一本一道久久a久久综合精品| 老司机一区二区| 一区二区三区四区五区| 日韩欧美国产电影| 精精国产xxx在线视频app| 日本一区不卡| 久久9热精品视频| 久久久久亚洲av成人片| 日韩成人性视频| 国产a亚洲精品| 成人午夜免费在线视频| 99精品热视频| 中国女人真人一级毛片| 欧美另类极品videosbest最新版本 | www.午夜av| 午夜精品久久久久久久99水蜜桃| 日韩a在线观看| 91九色蝌蚪国产| 亚洲激精日韩激精欧美精品| 非洲一级黄色片| 欧美一级搡bbbb搡bbbb| 中文字幕成在线观看| 一区不卡字幕| www.在线成人| 亚洲熟女乱色一区二区三区久久久| 欧美黑人xxx| 欧美先锋资源|