标签: android-camera

Android - cam.setPreviewDisplay(holder)运行IOError

我试图将相机的图像用作动态壁纸的一部分.

在我声明的引擎中,我有这个代码:

public class Class extends WallpaperService
{
    Camera cam;

    @Override
    public void onCreate()
    {
        super.onCreate();
        cam = Camera.open();
    }

    //...

    @Override
    public Engine onCreateEngine()
    {
        return new CubeEngine(cam);
    }

    class CubeEngine extends Engine
    {
        Camera cam;

        CubeEngine(Camera cam)
        {
            this.cam=cam;
        }

        //...

        @Override
        public void onDestroy()
        {
            if (cam != null)
            {
                cam.stopPreview();
                cam.setPreviewCallback(null);
                cam.release();
                cam = null;
            }
            super.onDestroy();
        }

        @Override
        public void onSurfaceChanged(SurfaceHolder holder, int format,
                int width, int height)
        {
            try
            {
                cam.setPreviewDisplay(holder);
                cam.startPreview();
            }
            catch …
Run Code Online (Sandbox Code Playgroud)

camera android android-camera live-wallpaper

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

Android应用程序崩溃,无法理解logcat找到原因

我在主要活动中有这个代码:

package flash.light.pro;

import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageManager;
import android.hardware.Camera;
import android.graphics.Color;
import android.hardware.Camera.Parameters;
import android.util.Log;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.view.View.OnLongClickListener;


public class MainActivity extends Activity {
    private boolean isBlack = false;
    private boolean isLedOn = false;
    private boolean supportsCamera = true;
    private Camera camera;
    final Parameters p = camera.getParameters();
    protected void onStop() {
        super.onStop();

        if (camera != null) {
            camera.release();
        }
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);
        final Button screen …
Run Code Online (Sandbox Code Playgroud)

android logcat android-camera

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

使用inJustDecodeBounds = true的OutOfMemory解码图像

我不断尝试OutOfMemory异常尝试解码我​​的Android应用程序中的相机图像.处理这个问题有很多问题,但是我的情况特别奇怪,因为即使只是试图获得边界,我也会得到异常options.inJustDecodeBounds=true.

这是启动相机的代码:

protected void takePicture() {
    Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    File image = new File(IMAGE_PATH, "camera.jpg");
    takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(image));
    startActivityForResult(takePictureIntent, 0);
}
Run Code Online (Sandbox Code Playgroud)

这是触发异常的代码:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == RESULT_OK ) { 
        String rawImageName = new String(IMAGE_PATH + "/camera.jpg");

        BitmapFactory.Options options = new BitmapFactory.Options();
        options.inJustDecodeBounds = true;
        BitmapFactory.decodeFile(rawImageName); // The exception is thrown here
            .
            .
            .
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用非常高的采样率解码图像,但我仍然得到相同的异常:

options.inSampleSize = 20;
options.inJustDecodeBounds = false;
options.inPreferredConfig = Bitmap.Config.RGB_565;
Bitmap photo = …
Run Code Online (Sandbox Code Playgroud)

java android image out-of-memory android-camera

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

带有固定边框的Android相机预览

我想拍一张长方形物体的照片.如果相机预览有一个边界矩形,我可以通过将对象放在边界框内来拍摄图片.我只需要图像中指定的(框内)区域.现在我开发了一个相机应用程序(使用Camera API Not INTENT),它可以拍照并存储照片,就像内置的相机应用程序一样.如何在相机预览上绘制矩形?以及如何在保存前进行裁剪?我正在使用android 2.2

camera android android-camera

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

位图 - 内存不足异常

当我尝试从相机或画廊获取图像时,我收到错误.这是logcat的一部分:

06-27 05:51:47.297: E/dalvikvm-heap(438): Out of memory on a 35295376-byte allocation.
06-27 05:51:47.312: E/dalvikvm(438): Out of memory: Heap Size=108067KB, Allocated=71442KB, Limit=131072KB
06-27 05:51:47.312: E/dalvikvm(438): Extra info: Footprint=108067KB, Allowed Footprint=108067KB, Trimmed=56296KB
06-27 05:51:47.312: E/PowerManagerService(438): Excessive delay when setting lcd brightness: mLcdLight.setBrightness(176, 1) spend 288ms, mask=2
06-27 05:51:48.052: E/dalvikvm-heap(4332): Out of memory on a 24023056-byte allocation.
06-27 05:51:48.057: E/dalvikvm(4332): Out of memory: Heap Size=63139KB, Allocated=40922KB, Limit=65536KB
06-27 05:51:48.057: E/dalvikvm(4332): Extra info: Footprint=63139KB, Allowed Footprint=63139KB, Trimmed=0KB
06-27 05:51:48.057: E/EmbeddedLogger(438): App crashed! Process: <my_app_name> …
Run Code Online (Sandbox Code Playgroud)

android out-of-memory android-gallery android-camera

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

Camera.Open不打开相机

我正在尝试使用以下代码打开相机应用程序:

 Camera camera = Camera.open();
 Parameters p = camera.getParameters();
 p.setFlashMode(Parameters.FLASH_MODE_ON);
 camera.setParameters(p);
 camera.startPreview();        
 camera.release();
Run Code Online (Sandbox Code Playgroud)

它不会抛出任何错误,但它也不会打开相机.无论是否使用camera.release()选项我都试过了.有什么我做错了吗?

camera android android-intent android-camera

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

为什么模糊图像出现在简单的Android相机应用程序中?

我尝试制作一个简单的相机应用程序,捕获图像并在imageview中查看图像:我在MainActivity中尝试了这段代码:

 ImageView myImageView;

public void myButtonCamera (View view){
    Intent cameraIntent = new Intent (android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
    startActivityForResult(cameraIntent, 10);

}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
    super.onActivityResult(requestCode,resultCode,data);
    if (resultCode == RESULT_OK){
        if (requestCode == 10){
            Bitmap cameraCapture;
            cameraCapture = (Bitmap)data.getExtras().get("data");
            myImageView.setImageBitmap(cameraCapture);
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

该应用程序工作并捕获图像,但它在ImageView中查看后模糊图像.我试图将ImageView的高度和宽度属性放到wrap_content测试应用程序之后,我注意到捕获的图像分辨率非常小!因为观看图像的尺寸非常小!

android android-camera android-imageview

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

如何在android中的自定义圆角图像视图中设置图像

你好我在Android相机应用程序中工作我想在圆角图像视图中显示点击图像如何实现这些.我发布了下面给出的图像.请帮助我?

Imageview看起来像这样

一

android uiimageview android-layout android-camera

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

想要在Android中使用ZBar扫描仪库进行更大的相机预览

我在我的Android应用程序中使用ZBarScannerActivity.但我在设备上获得了一个小的表面视图.其实我想要全屏幕相机预览来扫描QR码.

任何帮助,将不胜感激.谢谢.这是ZbarScanner Activity的代码

package com.dm.zbar.android.scanner;


public class ZBarScannerActivity extends Activity implements Camera.PreviewCallback, ZBarConstants {

private static final String TAG = "ZBarScannerActivity";
private CameraPreview mPreview;
private Camera mCamera;
private ImageScanner mScanner;
private Handler mAutoFocusHandler;
private boolean mPreviewing = true;

static {
    System.loadLibrary("iconv");
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    if(!isCameraAvailable()) {
        // Cancel request if there is no rear-facing camera.
        cancelRequest();
        return;
    }


    // Hide the window title.
    //requestWindowFeature(Window.FEATURE_NO_TITLE);
    //getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);


    mAutoFocusHandler = new Handler();

    // Create and configure the ImageScanner; …
Run Code Online (Sandbox Code Playgroud)

android android-camera image-scanner zbar

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

将图像传递给另一个活动时,图像会丢失原始结果

我正在申请我的相机功能.我正在捕捉图像并将其传递给另一个活动.我现在面临的问题是,当我在另一个活动展示形象就失去原来的结果(获得异样)出于某种原因.这就是我这样做的方式:

private void takePhotoFromCamera() {
        if(ActivityCompat.checkSelfPermission(EnterDataView.this, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED){
            Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(cameraIntent, CAMERA_REQUEST);
        }else {
            String[] permissionRequest = {Manifest.permission.CAMERA};
            requestPermissions(permissionRequest, 8675309);
        }
    }

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if(resultCode == RESULT_OK || resultCode != RESULT_CANCELED){
            if(requestCode == CAMERA_REQUEST){
                Bitmap mphoto = (Bitmap) data.getExtras().get("data");

                Intent passPhoto = new Intent(this, Photo.class);
                passPhoto.putExtra("byteArray",mphoto);

                passPhoto.putExtra("Caller", getIntent().getComponent().getClassName());
                startActivity(passPhoto);
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

在其他活动中获取图像:

if(getIntent().hasExtra("byteArray")) {
            //ImageView _imv= new ImageView(this);
            /*Bitmap _bitmap = BitmapFactory.decodeByteArray(
                    getIntent().getByteArrayExtra("byteArray"),0,getIntent().getByteArrayExtra("byteArray").length);*/
            Intent intent_camera = getIntent();
            Bitmap …
Run Code Online (Sandbox Code Playgroud)

android android-camera android-camera-intent android-bitmap

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