android开发自定义相机镜像问题

第一次写博客,之前一直是没有写博客的习惯。希望多多支持。

言归正传。

最近在做一个项目,需要自定义一个拍照功能。做完后发现,使用前置摄像头拍照,保存到本地以后,去相册查看发现保存的是原图。效果:拍的IX保存后是XI.

按道理来说这样是没有问题的,拍的什么保存的就是什么。这样是没问题的。但是总觉得很是别扭。

于是找了很多有关拍照保存图片的文章。也么有找到自己想要的。

最后在一篇博客中看到这样一个效果(实现镜像效果)的文章:http://blog.csdn.net/lovoo/article/details/51429563

灵机一动,将拍照后的图片转成镜像保存,结果就真的实现了,问题也就解决了。

最后就加了两行代码问题就解决了。记录下希望帮助更多人。有什么好的方式也希望多多指点。


//镜子效果
matrix.setScale(-1, 1);
matrix.postTranslate(bitmap.getWidth(), 0);


下面是我项目里面的主要代码:


try {
    if (cameraPosition == 0) {
        Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
        Matrix matrix = new Matrix();
        //镜子效果
        matrix.setScale(-1, 1);
        matrix.postTranslate(bitmap.getWidth(), 0);
        bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth()
                , bitmap.getHeight(), matrix, true);
        saveImageToGallery(getBaseContext(), bitmap);

    } else {
        // 获取Jpeg图片,并保存在sd卡上
        String fileName = System.currentTimeMillis() + ".jpg";
        File file = new File(Environment.getExternalStorageDirectory(), fileName);
        FileOutputStream fos = new FileOutputStream(file);
        fos.write(data);
        fos.close();
        // 其次把文件插入到系统图库
        MediaStore.Images.Media.insertImage(CameraActivity.this.getContentResolver()
                , file.getAbsolutePath(), fileName, null);
        // 最后通知图库更新
        CameraActivity.this.sendBroadcast(new 	Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE
                , Uri.parse("file://" + file)));

    }
    mCamera.stopPreview();
    mCamera.startPreview();
} catch (Exception e) {
    Log.d(TAG, "保存图片失败:::" + e.getLocalizedMessage());

}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值