相关疑难解决方法(0)

控制相机以纵向拍摄照片不会旋转最终图像

我正在尝试控制Android相机在肖像应用程序中拍照,但是当我保存图片时,它是在风景中.我用setCameraDisplayOrientation()方法将图像旋转了90个等级 ,但是不起作用.

然后我发现这个职位,但TAG_ORIENTATIONIS 0(不确定).如果我捕获此值并应用旋转值,则也不起作用.

我如何拍摄肖像并以良好的方向保存?

    /** Initializes the back/front camera */
private boolean initPhotoCamera() {
    try {
        camera = getCameraInstance(selected_camera);

        Camera.Parameters parameters = camera.getParameters();
   //           parameters.setPreviewSize(width_video, height_video);
   //           parameters.set("orientation", "portrait");
   //           parameters.set("rotation", 1);
   //           camera.setParameters(parameters);


        checkCameraFlash(parameters);

   //            camera.setDisplayOrientation( 0);
        setCameraDisplayOrientation(selected_camera, camera);


        surface_view.getHolder().setFixedSize(width_video, height_video);


        LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(width_video, height_video);
        surface_view.setLayoutParams(lp);

        camera.lock();

        surface_holder = surface_view.getHolder();
        surface_holder.addCallback(this);
        surface_holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);

        setPreviewCamera();

    } catch (Exception e) {
        Log.v("RecordVideo", "Could not initialize the Camera");
        return false;
    }
    return true; …
Run Code Online (Sandbox Code Playgroud)

android android-camera android-orientation

57
推荐指数
4
解决办法
5万
查看次数

Android获取相机位图的方向?并向后旋转-90度

我有这个代码:

//choosed a picture
public void onActivityResult(int requestCode, int resultCode, Intent data) {

    if (resultCode == RESULT_OK) {
        if (requestCode == ImageHelper.SELECT_PICTURE) {

            String picture           = "";

            Uri selectedImageUri     = data.getData();
            //OI FILE Manager
            String filemanagerstring = selectedImageUri.getPath();
            //MEDIA GALLERY
            String selectedImagePath = ImageHelper.getPath(mycontext, selectedImageUri);

            picture=(selectedImagePath!=null)?selectedImagePath:filemanagerstring;
Run Code Online (Sandbox Code Playgroud)

...

这只是一个图片选择器,来自画廊.这很不错,但是当我在一个imageview上打开这张照片时,带有相机的"PORTRAIT MODE"的图像看起来不错,但带有相机的"LANDSCAPE MODE"的图像在-90度开启.

我怎样才能将这些照片旋转回去?

    Bitmap output       = Bitmap.createBitmap(newwidth, newheight, Config.ARGB_8888);
    Canvas canvas       = new Canvas(output);
Run Code Online (Sandbox Code Playgroud)

我试过这个:

Log.e("w h", bitmap.getWidth()+" "+bitmap.getHeight());
if (bitmap.getWidth()<bitmap.getHeight()) canvas.rotate(-90);
Run Code Online (Sandbox Code Playgroud)

但这不起作用,所有图像大小为:*2560 1920像素(PORTRAIT和LANDSCAPE模式全部)

如何旋转LANDSCAPE图片?

谢谢莱斯利

android

55
推荐指数
3
解决办法
6万
查看次数

可以旋转JPEG压缩图像而不会降低质量吗?

JPEG是一种有损压缩方案,因此解压缩 - 操作 - 重新压缩通常会进一步降低每一步的图像质量.是否可以旋转JPEG图像而不会造成进一步的损失?从我对JPEG算法的了解很少,它似乎可以通过一些努力避免进一步的损失.哪些常见的图像处理程序(例如GIMP,Paint Shop Pro,Windows照片库)和图形库在执行旋转时会导致质量损失,哪些不会?

compression graphics jpeg lossy-compression

23
推荐指数
4
解决办法
9374
查看次数

Java中的无损JPEG旋转(90/180/270度)?

是否有用于以90度为增量旋转JPEG文件的Java库,而不会导致图像质量下降?

java algorithm jpeg rotation lossless

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

libjpeg-turbo for android

我需要libjpeg-turbo for android ndk.有没有人设法将其编译为.a(静态)lib?我试过几次,但它只给了我很多错误.

android jpeg android-ndk libjpeg-turbo

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

在onPictureTaken之后旋转JPEG的字节数组

有没有办法旋转字节数组而不将其解码为Bitmap?

目前在jpeg PictureCallback中我只是将字节数组直接写入文件.但图片是旋转的.我想旋转它们而不解码到位图,希望这将节省我的记忆.

    BitmapFactory.Options o = new BitmapFactory.Options();
    o.inJustDecodeBounds = true;
    BitmapFactory.decodeByteArray(data, 0, data.length, o);

    int orientation;
    if (o.outHeight < o.outWidth) {
        orientation = 90;
    } else {
        orientation = 0;
    }

    File photo = new File(tmp, "demo.jpeg");

    FileOutputStream fos;
    BufferedOutputStream bos = null;
    try {
        fos = new FileOutputStream(photo);
        bos = new BufferedOutputStream(fos);
        bos.write(data);
        bos.flush();
    } catch (IOException e) {
        Log.e(TAG, "Failed to save photo", e);
    } finally {
        IOUtils.closeQuietly(bos);
    }
Run Code Online (Sandbox Code Playgroud)

android android-camera

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