Android自定義相機,帶邊框截圖
專案需求:要實現自定義拍照介面,並且只取框框中的內容。
問題點:1、通過Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE)方式自動對焦,沒有實現觸控對焦
2、myParameters.setPreviewSize(1280, 720) myParameters.setPictureSize(2048, 1152); 需根據機型選定,否則會報setParameters錯誤,嘗試了設定了不同的大小,對相機介面和照片沒有影響,不知道為什麼?索性去掉了
效果圖:
-
<pre name="code"
- import java.io.BufferedOutputStream;
- import java.io.File;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.text.SimpleDateFormat;
-
import java.util.Date;
- import java.util.List;
- import java.util.Timer;
- import java.util.TimerTask;
- import com.stock.stock.R;
- import android.graphics.Bitmap;
- import android.graphics.BitmapFactory;
- import android.graphics.Canvas;
- import android.graphics.Matrix;
-
import android.graphics.PixelFormat;
- import android.hardware.Camera;
- import android.hardware.Camera.AutoFocusCallback;
- import android.hardware.Camera.CameraInfo;
- import android.hardware.Camera.PictureCallback;
- import android.hardware.Camera.ShutterCallback;
- import android.net.Uri;
- import android.os.Bundle;
- import android.os.Environment;
- import android.app.Activity;
- import android.app.AlertDialog;
- import android.app.AlertDialog.Builder;
- import android.content.Context;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.content.pm.PackageManager;
- import android.util.Log;
- import android.view.Menu;
- import android.view.SurfaceHolder;
- import android.view.SurfaceView;
- import android.view.View;
- import android.view.Window;
- import android.view.WindowManager;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- import android.widget.TextView;
- import android.widget.Toast;
- publicclass RectCameraActivity extends Activity implements
- SurfaceHolder.Callback, OnClickListener {
- private SurfaceView mySurfaceView = null;
- private SurfaceHolder mySurfaceHolder = null;
- private CameraTopRectView topView = null; //自定義頂層view
- private Camera myCamera = null;
- private Camera.Parameters myParameters;
- private TextView takeTxt;
- private TextView cancelTxt;
- privateboolean isPreviewing = false;
- private Bitmap bm;
- privatestaticfinal String IMG_PATH = "SHZQ";
- private File file;
- private Uri uri;
- @Override
- protectedvoid onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- requestWindowFeature(Window.FEATURE_NO_TITLE);
- int flag = WindowManager.LayoutParams.FLAG_FULLSCREEN;
- Window myWindow = this.getWindow();
- myWindow.setFlags(flag, flag);
- setContentView(R.layout.my_camera_activity);
- mySurfaceView = (SurfaceView) findViewById(R.id.sv_camera);
- mySurfaceView.setZOrderOnTop(false);
- mySurfaceHolder = mySurfaceView.getHolder();
- mySurfaceHolder.setFormat(PixelFormat.TRANSLUCENT);
- mySurfaceHolder.addCallback(this);
- mySurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
- topView = (CameraTopRectView) findViewById(R.id.top_view);
- takeTxt = (TextView) findViewById(R.id.txt_take);
- cancelTxt = (TextView) findViewById(R.id.txt_cancel);
- takeTxt.setClickable(false);
- cancelTxt.setClickable(false);
- takeTxt.setOnClickListener(this);
- cancelTxt.setOnClickListener(this);
- topView.onDraw(new Canvas());
- initCamera();
- }
- @Override
- protectedvoid onResume() {
- // TODO Auto-generated method stub
- super.onResume();
- if (myCamera == null) {
- initCamera();
- }
- }
- @Override
- protectedvoid onPause() {
- // TODO Auto-generated method stub
- super.onPause();
- if (myCamera != null) {
- isPreviewing = false;
- takeTxt.setClickable(false);
- cancelTxt.setClickable(false);
- myCamera.release(); // release the camera for other applications
- myCamera = null;
- }
- }
- @Override
-
protected
相關推薦
Android自定義相機,帶邊框截圖
專案需求:要實現自定義拍照介面,並且只取框框中的內容。 問題點:1、通過Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE)方式自動對焦,沒有實現觸控對焦 2、myParameters.setPreview
android自定義相機(帶邊框和按鈕)
前兩個月專案要求不能呼叫系統的相機,那就只能用自定義的了,查了一些資料,自己再研究了一下,自定義的相機還是有點複雜的,佈局和程式碼中都要用到一個重要的SurfaceView。 一、建立佈局,佈局的背景框可以讓美工給出,這裡姑且就是一個藍色的邊框,然後下面有三個按鈕,我里布局檔案activit
Android自定義控制元件 -- 帶邊框的TextView
使用xml實現邊框 原來使用帶邊框的TextView時一般都是用XML定義來完成,在drawable目錄中定義如下所示的xml檔案: <?xml version="1.0" encoding="utf-8"?> <selector xm
android自定義圓角實線邊框,圓角虛線邊框,直實線,虛實線,半圓角邊框
先上圖。<img src="http://img.my.csdn.net/uploads/201510/05/1444048517_3752.png-thumb.jpg" width="1080" height="1920" style="font-family: A
Android自定義View,畫一個好看帶延長線的餅狀圖
開發十年,就只剩下這套架構體系了! >>>
Android自定義相機超詳細講解
了解 catch 實現 4.4 required form 需要 eset 自己 Android自定義相機超詳細講解 轉載請標明出處: http://blog.csdn.net/vinicolor/article/details/49642861; 由於網上關於Andr
Android 自定義相機 Camera 圖片方向問題
相機預覽方向問題 對於相機的預覽方向我們可以通過如下API進行設定 camera.setDisplayOrientation(0);但是,該API影響的是相機的預覽方向,對於照片的儲存方向並沒有什麼影響,最終照片儲存的方向還是由Camera的影象Sensor決定的。 照片儲
Android自定義相機Camera(一)
Time:2018/06/21 因為專案需求,需要實現跟小猿搜題的類似的功能,系統相機直接就被排除了,原本打算是找個一個demo,改吧改吧就直接用了,找的過程中發現程式碼太舊了,目前6.0以上的系統很多不支援,然後按照demo的邏輯,就寫一個相
Android 自定義相機第二次開啟卡死
原因:相機沒有被正確釋放導致第二次打卡死。 //正確的釋放資原始碼 public void release(){ if (mCamera != null) { mCamera.setPreviewCallback(null) ;
Android 自定義View SeekBar 帶浮動文字顯示
先上圖 問1:seekbar_style.xml 為什麼 用xml 會不生效 參考 http://blog.csdn.net/as7210636/article/details/52169643 基本差不多 下載地址 https://github.com/linrenqi
Android自定義控制元件 帶文字提示的SeekBar
轉載請註明出處:juejin.im/post/5c1af0… 本文出自 容華謝後的部落格 1.寫在前面 SeekBar控制元件在開發中還是比較常見的,比如音視訊進度、音量調節等,但是原生控制元件有時還不能滿足我們的需求,今天就來學習一下如何自定義SeekBar控制元件,本文主要實現了一個帶文
Android 自定義相機Demo 入門學習
Android 自定義相機Demo 本文是參考網上一些自定義相機示例,再結合自己對相機的功能需求寫的,基本上包含了很多基本功能,比如相機對焦、閃光燈,以及在手機預覽介面上繪製自己想要繪製的圖案。 話不多說,先上一張圖: 應用是在Android Studio中開發的,java程
android 自定義view,在xml中引用內部類View
java.lang.ClassCastException: android.view.View cannot be cast to com.voice.VoiceFragment$AnimationView E/AndroidRuntime( 3543): at com.voice.VoiceFragme
Android 自定義CheckAnimView,支付寶支付成功打勾對號動畫,kotlin編寫
CheckAnimView是什麼東西呢,顧名思義就是選擇器,帶動畫效果的View,此View全由程式碼生成圖形。 使用場景:1、可以當作酷炫的選擇器。2、也可以用於展示結果,比如:支付結果,操作成功等 接下來看一下效果: 控制元件由四種圖形組合成動畫:邊框(空心圓
Android 自定義ImageView,支援圓角和直角
使用自定義ImageView,實現圓角功能 1.自定義屬性attrs.xml <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="RoundC
Android自定義相機實現N連拍
/** * 描述:自動連續拍照 * 開發者:開發者的樂趣JRT * 建立時間:2017-3-15 19:16 * CSDN地址:http://blog.csdn.net/Jiang_Rong_Tao/article * E-mail:[email protected] **/ publi
Android 自定義View,虛線縱向、橫向
虛線在shape中配置還是比較麻煩的,所以自定義一個,使用起來會方便很多。 虛線支援橫向、縱向兩種方式。並且高寬間隔都可以自定義,使用很靈活。 使用說明: 預設方向:橫向。 橫向時:預設寬度為40,預設高度為View高度 縱向時:預設寬度為View的寬度,預設
Android 自定義Toast,修改Toast樣式和顯示時長
Android 中有一個 Toast 控制元件,可以用來顯示提示資訊,還是非常好用的,但是樣式和顯示時長比較侷限。所以我們來自定義一個 Toast ,讓它可以顯示我們想要的效果,並能設定顯示時長。 首先,在 res\layout 資料夾下建立自定義 Toast 的佈
Android自定義View,高仿QQ音樂歌詞滾動控制元件!
最近在以QQ音樂為樣板做一個手機音樂播放器,原始碼下篇博文放出。今天我想聊的是這個QQ音樂播放器中歌詞顯示控制元件的問題,和小夥伴們一起來探討怎麼實現這個歌詞滾動的效果。OK,廢話不多說,先來看看效果圖:好,接下來我們就來看看怎麼實現這樣一個效果。本文主要包括如下幾方面內容:
Android自定義EditText,實現分割輸入內容效果
例如,輸入一組25位的序列號,希望分成5組,每組5個數字。效果如下圖。 Android中沒有發現類似的空間,只好自己動手了。 1.首先自定義控制元件繼承EditText,實現相應方法。 Java程式碼 package com.example.sequencenu