我正在尝试在Android中实现Camera应用程序,我从网上获得一些代码通过WebCam创建一个Live 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);
}
我不知道这个默认图片的来源,我不知道如何解决这个问题。任何人都知道这个请帮助我。等待回复.....
答案 0 :(得分:9)
如果这是在模拟器上,则唯一可用的摄像机图像是默认图像。
在完全不相关的注释中,不要按原始数字引用资源(例如d.setContentView(0x7f030000)
)。使用生成的R
类(例如R.layout.something
)。这些数字将更改,当他们更改您的应用程序时,将中断。