2009-08-20 51 views
4

我想在android中實現攝像頭應用程序,並且我從網上獲得了一些代碼來通過WebCam.Upto創建一個實時攝像頭。這個沒什麼問題。現在我必須在點擊按鈕時捕捉圖像,並且我顯示捕獲的圖像在對話框窗口中。沒有任何例外程序正在運行,但是捕捉的圖像不顯示,顯示一些默認圖像。如何在Android編程中從Camera應用程序捕獲圖像?

我的代碼是

public void captureImage() 
{ 
    Camera.Parameters params = camera.getParameters(); 
    camera.setParameters(params); 
    Camera.PictureCallback jpgCallback = new PictureCallback() 
    { 
     public void onPictureTaken(byte[] data, Camera camera) 
     { 
      try 
      { 
       Dialog d=new Dialog(c); 
       d.setContentView(0x7f030000); 
       BitmapFactory.Options opts = new BitmapFactory.Options(); 
       Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length,opts); 
       TextView tv=(TextView)d.findViewById(0x7f050001); 
       ImageView i=(ImageView)d.findViewById(0x7f050000); 
       i.setImageBitmap(bitmap); 
       tv.setText("Hai"+data.length); 
       d.show(); 
      } 
      catch(Exception e) 
      { 
       AlertDialog.Builder alert=new AlertDialog.Builder(c); 
       alert.setMessage("Exception1"+e.getMessage()); 
       alert.create(); 
       alert.show(); 
      } 
     } 

    }; 
    camera.takePicture(null, null, jpgCallback); 
} 

我沒有從那裏此默認圖片即將想法,我不如何解決售後服務這個problem.Anyone知道這個請大家幫忙me.Waiting的答覆.. ...

+0

我想構建一個具有捕獲圖像功能的Android應用程序。它在幾乎所有設備上都能正常工作(在HTC,Samsung Nexus S上測試過)。但是在搭載Android 2.2和Android 2.3.3的Galaxy Nexus機型(i9000,i9003)上無法使用。我正在尋找Galaxy S模型的工作樣本。你可以幫我嗎? – 2011-12-21 16:43:26

回答

8

如果這是在仿真器上,唯一可用的攝像頭圖像是默認圖像。

在完全不相關的筆記上,請勿通過原始數字(例如,d.setContentView(0x7f030000))參考資源。使用生成的R類(例如,R.layout.something)。那些號碼更改,當他們改變你的應用休息。

+0

有沒有其他的方法來捕捉模擬器Camera Application中顯示的圖像。 – Rajapandian 2009-08-21 08:46:27

+0

我不明白這個問題。仿真器的相機是模擬相機。 Android Camera應用程序以及使用Android的Camera對象的任何其他應用程序將看到一個模擬的「預覽」和「圖片」(例如棋盤背景上的球)。如果你想從相機拍攝真實照片,請使用真實設備。 – CommonsWare 2009-08-21 09:40:07

相關問題