Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 照片条纹/划痕(缩略图视图完美)_Android_Android Camera - Fatal编程技术网

Android 照片条纹/划痕(缩略图视图完美)

Android 照片条纹/划痕(缩略图视图完美),android,android-camera,Android,Android Camera,我的应用程序在特定目录中捕获并保存照片。问题是当我去画廊打开截图时。缩略图视图非常完美,但当使用HTC player打开照片时,照片会出现条纹/划痕 我使用一个实现SurfaceHolder.Callback的活动 PictureCallback myJpeg = new PictureCallback() { private boolean compress; public void onPictureTaken(byte[] arg0, Camera arg1)

我的应用程序在特定目录中捕获并保存照片。问题是当我去画廊打开截图时。缩略图视图非常完美,但当使用HTC player打开照片时,照片会出现条纹/划痕

我使用一个实现SurfaceHolder.Callback的活动

    PictureCallback myJpeg = new PictureCallback() {
     private boolean compress;

    public void onPictureTaken(byte[] arg0, Camera arg1) { 

            File path = getPath();
            File file = getName(path, imageNum);
            imageNum ++; 

            try {
                if(!path.exists())
                    path.mkdirs();


                OutputStream imageFileOS = new FileOutputStream(file);
                    imageFileOS.write(arg0);
                imageFileOS.close();


                MediaScannerConnection.scanFile(getApplicationContext(),
                        new String[] { file.toString() }, null,
                        new MediaScannerConnection.OnScanCompletedListener() {
                    public void onScanCompleted(String path, Uri uri) {
                        Log.i("ExternalStorage", "Scanned " + path + ":");
                        Log.i("ExternalStorage", "-> uri=" + uri);
                    }
                });


            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            if(imageNum < numDisp)
                myCamera.startPreview();
            else{ 
                goToViewCapture(file);
            }

     }

};

public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
    try{

        if(myPreviewRunning){
            myCamera.stopPreview();
            myPreviewRunning = false;
        }

        Camera.Parameters p = myCamera.getParameters();
        p.setPreviewSize(width,height);

        myCamera.setParameters(p);
        myCamera.setPreviewDisplay(holder);
        myCamera.startPreview();
        myPreviewRunning = true;

    }catch(Exception e){e.printStackTrace();} 
}

public void surfaceCreated(SurfaceHolder holder) {
    myCamera = Camera.open(); 

    try {
        Camera.Parameters parameters = myCamera.getParameters();
        parameters.set("jpeg-quality", 70);
        parameters.setPictureFormat(PixelFormat.JPEG);
        myCamera.setParameters(parameters);
        myCamera.setPreviewDisplay(holder);

    } catch (IOException exception) {

        myCamera.release();
    }
    //myCamera.startPreview();
}

public void surfaceDestroyed(SurfaceHolder holder) { 

    myCamera.stopPreview(); 
    myPreviewRunning = false;
    myCamera.release();
    myCamera = null;

}
PictureCallback myJpeg=新建PictureCallback(){
私有布尔压缩;
公共void onPictureTaken(字节[]arg0,摄像头arg1){
文件路径=getPath();
File File=getName(路径,imageNum);
imageNum++;
试一试{
如果(!path.exists())
path.mkdirs();
OutputStream imageFileOS=新文件OutputStream(文件);
imageFileOS.write(arg0);
imageFileOS.close();
MediaScannerConnection.scanFile(getApplicationContext(),
新字符串[]{file.toString()},null,
新的MediaScannerConnection.OnScanCompletedListener(){
已完成的公共void(字符串路径,Uri){
Log.i(“外部存储”,“扫描”+路径+:”);
Log.i(“外部存储”,“->uri=“+uri”);
}
});
}catch(filenotfounde异常){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}
if(imageNum
谢谢

解决方案:

注释此行-->//p.setPreviewSize(宽度、高度)