我正在尝试在
Android中实现Camera应用程序,我从网上获得了一些代码通过WebCam创建了一个Live Camera.Upto这没问题.现在我必须在单击按钮时捕获图像,并且我在对话窗口.如果程序正在运行但没有显示捕获的图像,则会显示一些默认图像.
我的代码是
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,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); }
解决方法
如果这是在模拟器上,则唯一可用的摄像机图像是默认图像.
在完全不相关的注释中,不要按原始数字引用资源(例如,d.setContentView(0x7f030000)).使用生成的R类(例如,R.layout.something).这些数字会改变,当他们改变你的申请时会破裂.