在画布上绘制翻转图像

时间:2015-11-10 10:17:50

标签: android

我的应用程序使用图片覆盖了相机预览,并在捕获时保存了覆盖图。 但是当我使用前置摄像头拍摄时,它会显示相机预览的镜像。 现在我想在使用前置摄像头时翻转图像,但是当我捕捉叠加图像时,#34;标记"未与捕获的图像一起保存。 我做错了什么?

                     {

                      Bitmap cameraBitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
                     int   wid = cameraBitmap.getWidth();
                     int  hgt = cameraBitmap.getHeight(); 
                    //  Toast.makeText(getApplicationContext(), wid+""+hgt, Toast.LENGTH_SHORT).show();
                      Bitmap newImage = Bitmap.createBitmap(wid, hgt, Bitmap.Config.ARGB_8888);
                      Canvas canvas = new Canvas(newImage);
                      if (currentCameraId == Camera.CameraInfo.CAMERA_FACING_BACK)
                           {
                      canvas.drawBitmap(cameraBitmap, 0f, 0f, null);
                          }
                      else 
                      {
                          canvas.drawBitmap(cameraBitmap, 0f, 0f, null);
                         // newImage = flip(newImage);
                          Matrix matrix = new Matrix();
                          matrix.preScale(-1.0f, 1.0f);
                            // unknown type
                            // return transformed image
                            newImage= Bitmap.createBitmap(newImage, 0, 0, newImage.getWidth(), newImage.getHeight(), matrix, true);
                          canvas.drawBitmap(cameraBitmap, 0f, 0f, null);
                      }
                     Drawable drawable getResources().getDrawable(R.drawable.mark);
                      drawable.setBounds(20, 30, drawable.getIntrinsicWidth()+20, drawable.getIntrinsicHeight()+30);
                     drawable.draw(canvas);

1 个答案:

答案 0 :(得分:0)