Advertisement
Guest User

Untitled

a guest
Aug 25th, 2011
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.66 KB | None | 0 0
  1. package com.Contest;
  2.  
  3. import java.io.BufferedOutputStream;
  4. import java.io.File;
  5. import java.io.FileNotFoundException;
  6. import java.io.FileOutputStream;
  7. import java.io.IOException;
  8. import java.text.Format;
  9. import java.util.List;
  10.  
  11. import android.app.Activity;
  12. import android.content.BroadcastReceiver;
  13. import android.content.Context;
  14. import android.content.Intent;
  15. import android.content.IntentFilter;
  16. import android.content.pm.ActivityInfo;
  17. import android.content.res.Configuration;
  18. import android.graphics.Bitmap;
  19. import android.graphics.Bitmap.CompressFormat;
  20. import android.graphics.BitmapFactory;
  21. import android.graphics.Canvas;
  22. import android.graphics.Color;
  23. import android.graphics.Paint;
  24. import android.hardware.Camera;
  25. import android.hardware.Camera.Size;
  26. import android.graphics.PixelFormat;
  27. import android.os.Bundle;
  28. import android.util.Log;
  29. import android.view.Display;
  30. import android.view.SurfaceHolder;
  31. import android.view.SurfaceView;
  32. import android.view.View;
  33. import android.view.View.OnClickListener;
  34. import android.view.Window;
  35. import android.view.WindowManager;
  36. import android.view.animation.AnimationUtils;
  37. import android.view.animation.RotateAnimation;
  38. import android.widget.Button;
  39. import android.widget.TextView;
  40.  
  41.  
  42. public class TakePhoto extends Activity implements SurfaceHolder.Callback, OnClickListener{
  43. /*Called when the Activity is first created*/
  44.  
  45. static final int FOTO_MODE = 0;
  46. private static final String TAG = "CameraTest";
  47. Camera mCamera;
  48. boolean mPreviewRunning = false;
  49. private Context mContext = this;
  50. private static String newFolder = "/Images";
  51. private Button takePhoto;
  52. private String t="Take Photo";
  53. private int width;
  54. private int height;
  55. private TextView te;
  56. Adisor drb;
  57.  
  58. public class Adisor extends BroadcastReceiver {
  59.  
  60. @Override
  61. public void onReceive(Context context, Intent intent) {
  62. System.out.println("Bau");
  63. if (intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT) != null) {
  64. // prevent the camera app from opening
  65. abortBroadcast();
  66. System.out.println("HEY");
  67. // mCamera.takePicture(null, mPictureCallback, mPictureCallback);
  68. }
  69. }
  70.  
  71. }
  72.  
  73. @Override
  74. public void onCreate(Bundle icicle) {
  75. super.onCreate(icicle);
  76. this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
  77. Display display=getWindowManager().getDefaultDisplay();
  78. width=display.getWidth();
  79. height=display.getHeight();
  80.  
  81. Log.e(TAG, "onCreate");
  82.  
  83. Bundle extras = getIntent().getExtras();
  84.  
  85. getWindow().setFormat(PixelFormat.TRANSLUCENT);
  86. requestWindowFeature(Window.FEATURE_NO_TITLE);
  87. getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
  88. setContentView(R.layout.takephoto);
  89. //setRequestedOrientation(Configuration.ORIENTATION_LANDSCAPE);
  90.  
  91. SurfaceView mSurfaceView = (SurfaceView) findViewById(R.id.surface_camera);
  92. takePhoto = (Button) findViewById(R.id.btnPhoto);
  93. // te = (TextView) findViewById(R.id.textview);
  94. takePhoto.setText(t);
  95.  
  96. RotateAnimation ranim = (RotateAnimation)AnimationUtils.loadAnimation(this, R.anim.myanim);
  97. ranim.setFillAfter(true);
  98. takePhoto.setAnimation(ranim);
  99.  
  100.  
  101. //mSurfaceView.setOnClickListener(this);
  102. takePhoto.setOnClickListener(this);
  103. mSurfaceHolder = mSurfaceView.getHolder();
  104. mSurfaceHolder.addCallback(this);
  105. mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
  106. mSurfaceHolder.setFixedSize(getWindow().getWindowManager()
  107. .getDefaultDisplay().getWidth(), getWindow().getWindowManager()
  108. .getDefaultDisplay().getHeight());
  109. drb=new Adisor();
  110. IntentFilter intent=new IntentFilter("android.intent.action.CAMERA_BUTTON");
  111. registerReceiver(drb,intent);
  112.  
  113. }
  114.  
  115. @Override
  116. protected void onRestoreInstanceState(Bundle savedInstanceState) {
  117. super.onRestoreInstanceState(savedInstanceState);
  118. }
  119.  
  120. Camera.PictureCallback mPictureCallback = new Camera.PictureCallback(){
  121. public void onPictureTaken(byte[] imageData, Camera c) {
  122.  
  123. if (imageData != null) {
  124. Intent mIntent = new Intent();
  125.  
  126.  
  127.  
  128. Bundle b = new Bundle();
  129. b.putByteArray("imageData", imageData);
  130. Intent i = new Intent(mContext,ViewPhoto.class);
  131. i.putExtras(b);
  132. startActivity(i);
  133.  
  134. setResult(FOTO_MODE, mIntent);
  135. finish();
  136.  
  137. }
  138. }
  139. };
  140.  
  141. protected void onResume() {
  142. Log.e(TAG, "onResume");
  143. super.onResume();
  144.  
  145. }
  146.  
  147.  
  148.  
  149.  
  150. protected void onSaveInstanceState(Bundle outState) {
  151. super.onSaveInstanceState(outState);
  152. }
  153.  
  154. protected void onStop() {
  155. Log.e(TAG, "onStop");
  156. super.onStop();
  157. }
  158.  
  159. public void surfaceCreated(SurfaceHolder holder) {
  160. Log.e(TAG, "surfaceCreated");
  161. mCamera = Camera.open();
  162.  
  163. }
  164.  
  165. public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
  166. Log.e(TAG, "surfaceChanged");
  167. if (mPreviewRunning) {
  168. mCamera.stopPreview();
  169. }
  170.  
  171. Camera.Parameters p = mCamera.getParameters();
  172. List<Size> sizes = p.getSupportedPictureSizes();
  173. int f=p.getJpegQuality();
  174. System.out.println("Formatul imaginilor suportate este!!!!!!!!!!:"+f);
  175. System.out.println("Lista de parametrii este urmatoarea:"+sizes.get(5));
  176. Size size = sizes.get(3);
  177. p.setPreviewSize(640, 480);
  178.  
  179. p.setJpegQuality(f);
  180. p.setPictureSize(size.width,size.height);
  181.  
  182. mCamera.setParameters(p);
  183. try {
  184. mCamera.setPreviewDisplay(holder);
  185. } catch (IOException e) {
  186. // TODO Auto-generated catch block
  187. e.printStackTrace();
  188. }
  189. mCamera.startPreview();
  190. mPreviewRunning = true;
  191. }
  192.  
  193. public void surfaceDestroyed(SurfaceHolder holder) {
  194. Log.e(TAG, "surfaceDestroyed");
  195. mCamera.stopPreview();
  196. mPreviewRunning = false;
  197. mCamera.release();
  198. }
  199.  
  200. private SurfaceView mSurfaceView;
  201. private SurfaceHolder mSurfaceHolder;
  202.  
  203. public void onClick(View arg0) {
  204.  
  205. mCamera.takePicture(null, mPictureCallback, mPictureCallback);
  206.  
  207. }
  208. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement