标签: android-camera

onPictureTaken中的Android Camera setPictureFormat和数据数组

您好我刚刚写了一个Android应用程序,它从相机拍摄图像,并想知道相机参数方法setPictureFormat()实际上做了什么以及它有什么影响.据我所知,camera.takePicture()实际上只提供JPEG回调中的数据.所以我认为到达onPictureTaken()的数据数组无论如何都是JPEG数据?那么我为什么要将此参数设置为PixelFormat.RGB_565呢?有没有办法直接在onPictureTaken()中直接解释数据数组,例如BitmapFactory.decodeByteArray?我发现相当奇怪的是,我得到的图像的分辨率为2448*3264,总共对应7990272像素.然而,创建该图像的基础数据aray仅具有大约2000000像素的长度.如果有人能为我澄清这一点,我将不胜感激.

android android-camera

2
推荐指数
1
解决办法
3848
查看次数

如何以编程方式拍摄照片

我正在开发一个应用程序,它可以在服务器调用时获取图像并将该图像发送到服 这是CameraSurfaceView我定义的类中的一些代码.

private SurfaceHolder holder;
private Camera camera;        
private Bitmap osb;
public void takeImage(){
    Camera camera = this.getCamera();
    CameraSurfaceView.HandlePictureStorage c = this.new HandlePictureStorage();
    camera.takePicture(null, null, c);
}
public byte[] getImage(String type) {    
    if (osb==null) {
        System.err.println("Camera.getImage: osb NULL");
        return  null;
    }

    CompressFormat format = CompressFormat.JPEG;
    if (type.equals("PNG")) {
        format = CompressFormat.PNG;
    }

    ByteArrayOutputStream out = new ByteArrayOutputStream();
    try {
        System.err.println("Camera.getImage: decoded");
        osb.compress(format, 100, out);
        System.err.println("Camera.getImage: compressed");
        try {
            out.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    } finally …
Run Code Online (Sandbox Code Playgroud)

android android-camera

2
推荐指数
1
解决办法
1万
查看次数

如何更改相机保存路径?

使用默认相机应用程序的照片和视频保存在SD卡上.

我真的需要知道是否有方法(简单或困难)更改路径,以便我可以将这些文件保存在内部存储器中.

或者,如果您知道来自Android市场的另一个相机应用程序,可以选择更改路径.

我不需要SD卡解决方案.

java mobile android android-camera

2
推荐指数
1
解决办法
4723
查看次数

.setPreviewDisplay(holder)抛出空指针异常

我正在开发一个自定义相机应用程序.下面是我的Activity类.

public class MyCustomCam extends Activity {
private Camera mCamera;    
private CameraPreview mPreview;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    mCamera = getCameraInstance();       
    mPreview = new CameraPreview(this, mCamera);        
    FrameLayout preview = (FrameLayout) findViewById(R.id.camera_preview);       
    preview.addView(mPreview);
}
    public static Camera getCameraInstance(){    
        Camera c = null;    
        try {
        c = Camera.open(); // attempt to get a Camera instance    
        }   
        catch (Exception e){        
            // Camera is not available (in use or does not exist) …
Run Code Online (Sandbox Code Playgroud)

android nullpointerexception android-camera surfaceholder

2
推荐指数
1
解决办法
5842
查看次数

如何在Android中检查照片是以横向还是纵向模式拍摄的?

我是Android的新手.我正在尝试使用内部的照片捕捉功能制作应用程序.问题是照片旋转不对.如果我以横向模式拍摄照片会很好,但在纵向模式下照片旋转会出错.我的问题是:我可以检查照片是否以横向/纵向模式拍摄?因为当我检查LogCat时,我可以看到名为"CameraEngine"的标签,它表示旋转:0或90.如果我能通过代码获得那种相机信息,那将会很酷.

android android-camera android-camera-intent

2
推荐指数
1
解决办法
3512
查看次数

Samsung Galaxy SIII的问题 - Camera.onPictureTaken()返回隔行扫描图像而不是正确的捕获图像

我们有一个应用程序,利用后部'相机'来捕获项目图像.到目前为止,我们测试过的所有设备在捕获图像方面都能正常工作,直到三星Galaxy SIII(S3).

仅在三星Galaxy SIII上,我们观察到Camera.onPictureTaken()正在返回一个原始图像,显示为隔行扫描而不是正确的捕获图像.调试每个摄像机参数设置,确定以下参数设置器导致问题.如果我们没有在参数上显式setPictureSize(),那么它按预期工作:

parameters.setPictureSize(targetPictureSize);  
Run Code Online (Sandbox Code Playgroud)

默认情况下,参数.getPictureSize()以[w,h] = [3264,2448]的形式返回

'targetPictureSize'是根据最接近的匹配尺寸从下面返回来确定的,在这种情况下,我们使用[w,h] = [1600,1200]大小作为'targetPictureSize'

camera.getParameters().getSupportedPictureSizes();
Run Code Online (Sandbox Code Playgroud)

有人知道原因和解决方法吗?

android android-camera galaxy

2
推荐指数
1
解决办法
2104
查看次数

三星Galaxy SIII的相机有错误吗?

我使用以下代码启动相机,但是,3/4的时间,照片无法保存到内存中.这只发生在Galaxy SIII上.它适用于Nexus S和Nexus One

public void photoNew() {
    holdingImage = getContentResolver().insert(MUtil.genImgUri(), new ContentValues());   
    Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    Bundle extras = new Bundle();
    extras.putParcelable(MediaStore.EXTRA_OUTPUT, holdingImage);
    extras.putBoolean("return-data", true);
    i.putExtras(extras);
    startActivityForResult(i, REQ_PHOTO);   
}
Run Code Online (Sandbox Code Playgroud)

android android-camera android-camera-intent

2
推荐指数
1
解决办法
1950
查看次数

设备锁定时如何捕获图像

我希望在屏幕锁定并且有人试图解锁时,使用Android设备的前置或后置摄像头自动捕获图像.我在Android中检查过它可以在市场上找到一些应用程序.请帮忙.

android android-camera android-camera-intent android-capture

2
推荐指数
1
解决办法
7102
查看次数

Android Image/Video incorrectly rotated 90 degrees counter clockwise

I have an app that that exposes the android Camera API, my goal is to use the Camera in my activity "ScanVinFromBarcodeActivity" , in order to scan barcodes using (zxing liberary).

The issue I'm facing is that the Camera output on the preview (SurfaceView) seems to be rotated 90 degrees counter clockwise (portrait & landscape orientations).

See the snapshot of my screen ( As you can see the people and my computer are rotated 90 degrees counter clockwise???:

By the …

android android-layout android-camera

2
推荐指数
1
解决办法
3524
查看次数

停止CaptureCallback请求

我正在尝试使用Camera2 API使用Zbar读取QR码.不幸的是,当我在成功扫描QR码后尝试完成活动时,我收到以下错误:

Handler (android.os.Handler) {282a7034} sending message to a Handler on a dead thread
java.lang.IllegalStateException: Handler (android.os.Handler) {282a7034} sending message to a Handler on a dead thread
    at android.os.MessageQueue.enqueueMessage(MessageQueue.java:325)
    at android.os.Handler.enqueueMessage(Handler.java:631)
    at android.os.Handler.sendMessageAtTime(Handler.java:600)
    at android.os.Handler.sendMessageDelayed(Handler.java:570)
    at android.os.Handler.post(Handler.java:326)
    at android.hardware.camera2.dispatch.HandlerDispatcher.dispatch(HandlerDispatcher.java:61)
    at android.hardware.camera2.dispatch.MethodNameInvoker.invoke(MethodNameInvoker.java:88)
    at android.hardware.camera2.dispatch.DuckTypingDispatcher.dispatch(DuckTypingDispatcher.java:53)
    at android.hardware.camera2.dispatch.ArgumentReplacingDispatcher.dispatch(ArgumentReplacingDispatcher.java:74)
    at android.hardware.camera2.dispatch.BroadcastDispatcher.dispatch(BroadcastDispatcher.java:54)
    at android.hardware.camera2.dispatch.MethodNameInvoker.invoke(MethodNameInvoker.java:88)
    at android.hardware.camera2.impl.CallbackProxies$DeviceCaptureCallbackProxy.onCaptureCompleted(CallbackProxies.java:120)
    at android.hardware.camera2.impl.CameraDeviceImpl$CameraDeviceCallbacks$4.run(CameraDeviceImpl.java:1362)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:135)
    at android.os.HandlerThread.run(HandlerThread.java:61)
Run Code Online (Sandbox Code Playgroud)

这些是相关的代码片段:

private CameraCaptureSession.CaptureCallback mCaptureCallback
        = new CameraCaptureSession.CaptureCallback() {

    @Override
    public void onCaptureCompleted(CameraCaptureSession session, CaptureRequest request,
                                   TotalCaptureResult result) {
        Bitmap …
Run Code Online (Sandbox Code Playgroud)

android android-camera

2
推荐指数
1
解决办法
4367
查看次数