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 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献