Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.Contest;
- import java.io.BufferedOutputStream;
- import java.io.File;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.text.Format;
- import java.util.List;
- import android.app.Activity;
- import android.content.BroadcastReceiver;
- import android.content.Context;
- import android.content.Intent;
- import android.content.IntentFilter;
- import android.content.pm.ActivityInfo;
- import android.content.res.Configuration;
- import android.graphics.Bitmap;
- import android.graphics.Bitmap.CompressFormat;
- import android.graphics.BitmapFactory;
- import android.graphics.Canvas;
- import android.graphics.Color;
- import android.graphics.Paint;
- import android.hardware.Camera;
- import android.hardware.Camera.Size;
- import android.graphics.PixelFormat;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.Display;
- import android.view.SurfaceHolder;
- import android.view.SurfaceView;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.view.Window;
- import android.view.WindowManager;
- import android.view.animation.AnimationUtils;
- import android.view.animation.RotateAnimation;
- import android.widget.Button;
- import android.widget.TextView;
- public class TakePhoto extends Activity implements SurfaceHolder.Callback, OnClickListener{
- /*Called when the Activity is first created*/
- static final int FOTO_MODE = 0;
- private static final String TAG = "CameraTest";
- Camera mCamera;
- boolean mPreviewRunning = false;
- private Context mContext = this;
- private static String newFolder = "/Images";
- private Button takePhoto;
- private String t="Take Photo";
- private int width;
- private int height;
- private TextView te;
- Adisor drb;
- public class Adisor extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- System.out.println("Bau");
- if (intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT) != null) {
- // prevent the camera app from opening
- abortBroadcast();
- System.out.println("HEY");
- // mCamera.takePicture(null, mPictureCallback, mPictureCallback);
- }
- }
- }
- @Override
- public void onCreate(Bundle icicle) {
- super.onCreate(icicle);
- this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
- Display display=getWindowManager().getDefaultDisplay();
- width=display.getWidth();
- height=display.getHeight();
- Log.e(TAG, "onCreate");
- Bundle extras = getIntent().getExtras();
- getWindow().setFormat(PixelFormat.TRANSLUCENT);
- requestWindowFeature(Window.FEATURE_NO_TITLE);
- getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
- setContentView(R.layout.takephoto);
- //setRequestedOrientation(Configuration.ORIENTATION_LANDSCAPE);
- SurfaceView mSurfaceView = (SurfaceView) findViewById(R.id.surface_camera);
- takePhoto = (Button) findViewById(R.id.btnPhoto);
- // te = (TextView) findViewById(R.id.textview);
- takePhoto.setText(t);
- RotateAnimation ranim = (RotateAnimation)AnimationUtils.loadAnimation(this, R.anim.myanim);
- ranim.setFillAfter(true);
- takePhoto.setAnimation(ranim);
- //mSurfaceView.setOnClickListener(this);
- takePhoto.setOnClickListener(this);
- mSurfaceHolder = mSurfaceView.getHolder();
- mSurfaceHolder.addCallback(this);
- mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
- mSurfaceHolder.setFixedSize(getWindow().getWindowManager()
- .getDefaultDisplay().getWidth(), getWindow().getWindowManager()
- .getDefaultDisplay().getHeight());
- drb=new Adisor();
- IntentFilter intent=new IntentFilter("android.intent.action.CAMERA_BUTTON");
- registerReceiver(drb,intent);
- }
- @Override
- protected void onRestoreInstanceState(Bundle savedInstanceState) {
- super.onRestoreInstanceState(savedInstanceState);
- }
- Camera.PictureCallback mPictureCallback = new Camera.PictureCallback(){
- public void onPictureTaken(byte[] imageData, Camera c) {
- if (imageData != null) {
- Intent mIntent = new Intent();
- Bundle b = new Bundle();
- b.putByteArray("imageData", imageData);
- Intent i = new Intent(mContext,ViewPhoto.class);
- i.putExtras(b);
- startActivity(i);
- setResult(FOTO_MODE, mIntent);
- finish();
- }
- }
- };
- protected void onResume() {
- Log.e(TAG, "onResume");
- super.onResume();
- }
- protected void onSaveInstanceState(Bundle outState) {
- super.onSaveInstanceState(outState);
- }
- protected void onStop() {
- Log.e(TAG, "onStop");
- super.onStop();
- }
- public void surfaceCreated(SurfaceHolder holder) {
- Log.e(TAG, "surfaceCreated");
- mCamera = Camera.open();
- }
- public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
- Log.e(TAG, "surfaceChanged");
- if (mPreviewRunning) {
- mCamera.stopPreview();
- }
- Camera.Parameters p = mCamera.getParameters();
- List<Size> sizes = p.getSupportedPictureSizes();
- int f=p.getJpegQuality();
- System.out.println("Formatul imaginilor suportate este!!!!!!!!!!:"+f);
- System.out.println("Lista de parametrii este urmatoarea:"+sizes.get(5));
- Size size = sizes.get(3);
- p.setPreviewSize(640, 480);
- p.setJpegQuality(f);
- p.setPictureSize(size.width,size.height);
- mCamera.setParameters(p);
- try {
- mCamera.setPreviewDisplay(holder);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- mCamera.startPreview();
- mPreviewRunning = true;
- }
- public void surfaceDestroyed(SurfaceHolder holder) {
- Log.e(TAG, "surfaceDestroyed");
- mCamera.stopPreview();
- mPreviewRunning = false;
- mCamera.release();
- }
- private SurfaceView mSurfaceView;
- private SurfaceHolder mSurfaceHolder;
- public void onClick(View arg0) {
- mCamera.takePicture(null, mPictureCallback, mPictureCallback);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement