91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

android實現手機App實現拍照功能示例

發布時間:2020-09-11 00:43:04 來源:腳本之家 閱讀:181 作者:ly593988490 欄目:移動開發

實現手機App實現拍照功能結果如下

android實現手機App實現拍照功能示例

第一步:

activity_takephoto.xml布局用SurfaceView

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:id="@+id/activity_takephoto"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:paddingBottom="@dimen/activity_vertical_margin"
  android:paddingLeft="@dimen/activity_horizontal_margin"
  android:paddingRight="@dimen/activity_horizontal_margin"
  android:paddingTop="@dimen/activity_vertical_margin"
  tools:context="com.example.android_27.TakephotoActivity">
      <SurfaceView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/sv_takephoto"
        />
  <LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="拍照"
      android:id="@+id/b_OK"
      />
    <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="切換"
      android:id="@+id/b_qh"
      />
  </LinearLayout>
</RelativeLayout>

第二步:TakephotoActivity類

public class TakephotoActivity extends AppCompatActivity {

  private SurfaceView sv_takephoto;
  private Button b_OK;
  private Button b_qh;
  private Camera camera;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_takephoto);
    //獲得SurfaceView的ID
    sv_takephoto =(SurfaceView) findViewById(R.id.sv_takephoto);
    //獲得拍照的ID
    b_OK =(Button)findViewById(R.id.b_OK);
    //獲得切換鏡頭的ID
    b_qh =(Button)findViewById(R.id.b_qh);

    sv_takephoto.getHolder().addCallback(new SurfaceHolder.Callback() {
      @Override
      public void surfaceCreated(SurfaceHolder surfaceHolder) {
      //打開相機
        camera = Camera.open();
        //給相機設置參數
        Camera.Parameters parameters= camera.getParameters();
        //設置保存的格式
        parameters.setPictureFormat(PixelFormat.JPEG);
        parameters.set("jpeg-quality",85);
        camera.setParameters(parameters);

        //將畫面展示到SurfaceView中
        try {
          camera.setPreviewDisplay(sv_takephoto.getHolder());
          //開啟預覽
          camera.startPreview();
        } catch (IOException e) {
          e.printStackTrace();
        }

      }

      @Override
      public void surfaceChanged(SurfaceHolder surfaceHolder, int i, int i1, int i2) {

      }

      @Override
      public void surfaceDestroyed(SurfaceHolder surfaceHolder) {

      }
    });

    //拍照的點擊事件
    b_OK.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View view) {
        //拍照
        camera.takePicture(null, null, new Camera.PictureCallback() {
          @Override
          public void onPictureTaken(byte[] bytes, Camera camera) {
            //將字節數組轉成圖片
            Bitmap bitmap= BitmapFactory.decodeByteArray(bytes,0,bytes.length);
            try {
              FileOutputStream fos=new FileOutputStream("/mnt/sdcard/DCIM/"+System.currentTimeMillis()+".jpg");
              bitmap.compress(Bitmap.CompressFormat.PNG,85,fos);
              camera.stopPreview();
              camera.startPreview();
            } catch (FileNotFoundException e) {
              e.printStackTrace();
            }
          }
        });

    }
    });

  }
}

第三步:在AndroidManifest.xml中加權限

<uses-permission android:name="android.permission.CAMERA" />

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阳泉市| 炎陵县| 广东省| 定安县| 津南区| 通榆县| 凤冈县| 方正县| 阿图什市| 开平市| 伊春市| 荔波县| 宽甸| 达拉特旗| 尉氏县| 平果县| 宝坻区| 花莲市| 天峻县| 包头市| 五常市| 石林| 措勤县| 德阳市| 湖南省| 信丰县| 邯郸县| 卢龙县| 皮山县| 罗江县| 鞍山市| 荃湾区| 齐河县| 玛纳斯县| 霞浦县| 兰州市| 隆昌县| 临漳县| 合江县| 佛坪县| 樟树市|