pingking1860 2017-07-19 11:35 采纳率: 0%
浏览 1178
已结题

安卓图像传输只显示一部分图片

安卓端传输到服务器的图片只显示一部分? private static String TAG = "MainActivity";
private Camera mCamera;
private SurfaceView mPreview;
private SurfaceHolder mHolder;

private Camera.PictureCallback mPictureCallback = new Camera.PictureCallback(){
    @Override
    public void onPictureTaken(byte[] data, Camera camera) {
        File tempFile = new File("/sdcard/temp.jpg");
        try{
            FileOutputStream fos = new FileOutputStream(tempFile);
            fos.write(data);
            fos.close();





            new MyThread().start();
        }catch (FileNotFoundException e){
            e.printStackTrace();
        }catch (IOException e){
            e.printStackTrace();
        }

    }
};

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mPreview = (SurfaceView) findViewById(R.id.preview);
    mHolder = mPreview.getHolder();
    mHolder.addCallback(this);

}
public void  buttonCamera(View view){
    //onClick 事件
    // ==============  Camera
    Camera.Parameters parameters = mCamera.getParameters();
    parameters.setPictureFormat(ImageFormat.JPEG);
    parameters.setPictureSize(480,320);
    parameters.setPictureSize(2560,720);
    parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
    mCamera.autoFocus(new Camera.AutoFocusCallback(){
        @Override
        public void onAutoFocus(boolean success, Camera camera) {
            if (success){
                mCamera.takePicture(null,null,mPictureCallback);
            }
        }
    });
}

@Override
protected void onResume() {
    super.onResume();
    if (mCamera == null){
        mCamera = getCamera();
        if (mHolder != null){
            setStartPreview(mCamera,mHolder);
        }
    }
}

@Override
protected void onPause() {
    super.onPause();
    releaseCamera();
}

/**
 * 获取Camera对象
 * @return
 */
private Camera getCamera(){
    Camera camera;
    try {
        camera = Camera.open();
    }catch (Exception e){
        camera = null;
        e.printStackTrace();
    }
    return camera;
}

/**
 * 开始预览相机内容
 */
private void setStartPreview(Camera camera,SurfaceHolder holder){
    try{
        camera.setPreviewDisplay(holder);
        // 将系统Camera预览角度进行调整
        camera.setDisplayOrientation(90);
        camera.startPreview();
    }catch (IOException e){
        e.printStackTrace();
    }

}

/**
 * 释放相机资源
 */
private void releaseCamera(){
    if (mCamera != null){
        mCamera.setPreviewCallback(null);
        mCamera.stopPreview();
        mCamera.release();
        mCamera = null;
    }
  • 写回答

1条回答

  • zqbnqsdsmd 2018-07-23 10:50
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 链接问题 C++LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接