camera problem!!

Tutorials with advanced 'difficulty' and more Lines of Code.

camera problem!!

Postby tptptp0827 » Tue Aug 04, 2009 8:13 am

Hi, all. I have a big problem with the picture I took.

The picture seems to unable to use just like

Syntax: [ Download ] [ Hide ]
Using java Syntax Highlighting
  1. Bitmap bitmap = BitmapFactory.decodeFile("/sdcard/aa.jpg");
Parsed in 0.031 seconds, using GeSHi 1.0.8.4


Here are my codes.

Syntax: [ Download ] [ Hide ]
Using java Syntax Highlighting
  1. public class CameraApiTest extends Activity implements SurfaceHolder.Callback
  2.  
  3. {
  4.  
  5.         private SurfaceView mSurfaceView;
  6.  
  7.         private SurfaceHolder mSurfaceHolder;
  8.  
  9.         private Button btn1, btn2, btn3, btn4;
  10.  
  11.  
  12.  
  13.         private Camera mCamera;
  14.  
  15.         boolean mPreviewRunning = false;
  16.  
  17.  
  18.  
  19.         public void onCreate(Bundle icicle)
  20.  
  21.         {
  22.  
  23.                 super.onCreate(icicle);
  24.  
  25.                 getWindow().setFormat(PixelFormat.TRANSLUCENT);
  26.  
  27.                 setContentView(R.layout.camera_api_test);
  28.  
  29.  
  30.  
  31.                 btn1 = (Button) findViewById(R.id.btn1);
  32.  
  33.                 btn2 = (Button) findViewById(R.id.btn2);
  34.  
  35.                 btn3 = (Button) findViewById(R.id.btn3);
  36.  
  37.                 btn4 = (Button) findViewById(R.id.btn4);
  38.  
  39.                
  40.  
  41.                 setAllButton(View.INVISIBLE);
  42.  
  43.                 btn1.setOnClickListener(new OnClickListener(){
  44.  
  45.                         @Override
  46.  
  47.                         public void onClick(View v) {
  48.  
  49.                                 setAllButton(View.INVISIBLE);
  50.  
  51.                                 mCamera.startPreview();
  52.  
  53.                 }});
  54.  
  55.  
  56.  
  57.                 mSurfaceView = (SurfaceView)findViewById(R.id.surface);
  58.  
  59.  
  60.  
  61.                 mSurfaceHolder = mSurfaceView.getHolder();
  62.  
  63.                 mSurfaceHolder.addCallback(this);
  64.  
  65.                 mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
  66.  
  67.         }
  68.  
  69.  
  70.  
  71.         public boolean onCreateOptionsMenu(android.view.Menu menu) {
  72.  
  73.                 MenuItem item = menu.add(0, 0, 0, "goto gallery");
  74.  
  75.                 item.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
  76.  
  77.                         public boolean onMenuItemClick(MenuItem item) {
  78.  
  79.                                 Uri target = Uri.parse("content://media/external/images/media");
  80.  
  81.                                 Intent intent = new Intent(Intent.ACTION_VIEW, target);
  82.  
  83.                                 startActivity(intent);
  84.  
  85.                                 return true;
  86.  
  87.                         }
  88.  
  89.                 });
  90.  
  91.                 return true;
  92.  
  93.         }
  94.  
  95.  
  96.  
  97.         Camera.PictureCallback mPictureCallback = new Camera.PictureCallback() {
  98.  
  99.                 public void onPictureTaken(byte[] data, Camera c) {
  100.  
  101.  
  102.  
  103.                         Bitmap bm = BitmapFactory.decodeByteArray(data, 0, data.length);
  104.  
  105.                         FileOutputStream fos = null;
  106.  
  107.                         try {
  108.  
  109.                                 fos = new FileOutputStream("/sdcard/aa.jpg");
  110.  
  111.                         } catch (FileNotFoundException e) {
  112.  
  113.                                 e.printStackTrace();
  114.  
  115.                         }
  116.  
  117.                         BufferedOutputStream bos = new BufferedOutputStream(fos);
  118.  
  119.                         bm.compress(Bitmap.CompressFormat.JPEG, 0, bos);
  120.  
  121.  
  122.  
  123.                         try {
  124.  
  125.                                 bos.flush();
  126.  
  127.                                 bos.close();
  128.  
  129.                         } catch (IOException e) {
  130.  
  131.                                 e.printStackTrace();
  132.  
  133.                         }
  134.  
  135.                         setAllButton(View.VISIBLE);
  136.  
  137.                 }
  138.  
  139.         };
  140.  
  141.  
  142.  
  143.         public boolean onKeyDown(int keyCode, KeyEvent event)
  144.  
  145.         {
  146.  
  147.                 if (keyCode == KeyEvent.KEYCODE_BACK) {
  148.  
  149.                         return super.onKeyDown(keyCode, event);
  150.  
  151.                 }
  152.  
  153.  
  154.  
  155.                 if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
  156.  
  157.                         mCamera.takePicture(null, null, mPictureCallback);
  158.  
  159.                         return true;
  160.  
  161.                 }
  162.  
  163.  
  164.  
  165.                 return false;
  166.  
  167.         }
  168.  
  169.  
  170.  
  171.         public void surfaceCreated(SurfaceHolder holder){
  172.  
  173.                 mCamera = Camera.open();
  174.  
  175.         }
  176.  
  177.  
  178.  
  179.         public void surfaceChanged(SurfaceHolder holder, int format, int w, int h){
  180.  
  181.  
  182.  
  183.                 if (mPreviewRunning) {
  184.  
  185.                         mCamera.stopPreview();
  186.  
  187.                 }
  188.  
  189.  
  190.  
  191.                 Camera.Parameters p = mCamera.getParameters();
  192.  
  193.                
  194.  
  195.                 p.setPreviewSize(w, h);
  196.  
  197.                 mCamera.setParameters(p);
  198.  
  199.                 mCamera.setPreviewDisplay(holder);
  200.  
  201.                 mCamera.startPreview();
  202.  
  203.                 mPreviewRunning = true;
  204.  
  205.         }
  206.  
  207.  
  208.  
  209.         public void surfaceDestroyed(SurfaceHolder holder){
  210.  
  211.                 mCamera.stopPreview();
  212.  
  213.                 mPreviewRunning = false;
  214.  
  215.                 mCamera.release();
  216.  
  217.         }
  218.  
  219.        
  220.  
  221.         private void setAllButton(int visibility){
  222.  
  223.                 btn1.setVisibility(visibility);
  224.  
  225.                 btn2.setVisibility(visibility);
  226.  
  227.                 btn3.setVisibility(visibility);
  228.  
  229.                 btn4.setVisibility(visibility);
  230.  
  231.         }
  232.  
  233. }
Parsed in 0.043 seconds, using GeSHi 1.0.8.4


Syntax: [ Download ] [ Hide ]
Using xml Syntax Highlighting
  1. <?xml version="1.0" encoding="utf-8"?>
  2.  
  3. <RelativeLayout android:id="@+id/widget28"
  4.  
  5.         android:layout_width="fill_parent" android:layout_height="fill_parent"
  6.  
  7.         xmlns:android="http://schemas.android.com/apk/res/android">
  8.  
  9.         <SurfaceView android:id="@+id/surface"
  10.  
  11.                 android:layout_width="fill_parent" android:layout_height="fill_parent"
  12.  
  13.                 android:layout_weight="1">
  14.  
  15.         </SurfaceView>
  16.  
  17.  
  18.  
  19.         <LinearLayout
  20.  
  21.                 android:layout_width="wrap_content" android:layout_height="wrap_content"
  22.  
  23.                 android:orientation="vertical" android:layout_centerVertical="true"
  24.  
  25.                 android:layout_alignParentRight="true">
  26.  
  27.                 <Button android:id="@+id/btn1" android:layout_width="wrap_content"
  28.  
  29.                         android:layout_height="wrap_content" android:text="Button">
  30.  
  31.                 </Button>
  32.  
  33.                 <Button android:id="@+id/btn2" android:layout_width="wrap_content"
  34.  
  35.                         android:layout_height="wrap_content" android:text="Button">
  36.  
  37.                 </Button>
  38.  
  39.                 <Button android:id="@+id/btn3" android:layout_width="wrap_content"
  40.  
  41.                         android:layout_height="wrap_content" android:text="Button">
  42.  
  43.                 </Button>
  44.  
  45.                 <Button android:id="@+id/btn4" android:layout_width="wrap_content"
  46.  
  47.                         android:layout_height="wrap_content" android:text="Button">
  48.  
  49.                 </Button>
  50.  
  51.         </LinearLayout>
  52.  
  53. </RelativeLayout>
Parsed in 0.005 seconds, using GeSHi 1.0.8.4


Syntax: [ Download ] [ Hide ]
Using xml Syntax Highlighting
  1. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  2.  
  3.         package="com.android.cameraapitest">
  4.  
  5.         <uses-permission android:name="android.permission.CAMERA" />
  6.  
  7.         <application>
  8.  
  9.                 <activity android:name="CameraApiTest" android:label="Camera API Test"
  10.  
  11.                         android:screenOrientation="landscape" android:configChanges="orientation|keyboardHidden"
  12.  
  13.                         android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
  14.  
  15.                         <intent-filter>
  16.  
  17.                                 <action android:name="android.intent.action.MAIN" />
  18.  
  19.                                 <category android:name="android.intent.category.LAUNCHER" />
  20.  
  21.                         </intent-filter>
  22.  
  23.                 </activity>
  24.  
  25.         </application>
  26.  
  27. </manifest>
Parsed in 0.003 seconds, using GeSHi 1.0.8.4
tptptp0827
Freshman
Freshman
 
Posts: 4
Joined: Mon Jun 08, 2009 3:12 am

Top

Return to Advanced Tutorials

Who is online

Users browsing this forum: No registered users and 4 guests