时间戳显示在黑屏上而不是捕获的图像上

时间:2017-09-09 14:12:35

标签: android bitmap timestamp android-camera capture

我有一个应用程序,它有自己的内置摄像头和camera2。 拍照后,它会向您显示带有时间戳的图像,以及它应该做什么。如何在拍摄的图像上显示时间戳,而不是带有时间戳的黑色屏幕。

这是我的代码。

                @Override
            public void onCaptureCompleted(@NonNull CameraCaptureSession session, @NonNull CaptureRequest request, @NonNull TotalCaptureResult result) {
                super.onCaptureCompleted(session, request, result);

                dest = Bitmap.createBitmap(500, 1000, Bitmap.Config.ARGB_8888);


                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                String dateTime = sdf.format(Calendar.getInstance().getTime()); // reading local time in the system


                Canvas cs = new Canvas(dest);
                Paint tPaint = new Paint();
                tPaint.setTextSize(35);
                tPaint.setColor(Color.RED);
                tPaint.setStyle(Paint.Style.FILL);
                float pHeight = tPaint.measureText("yY");
                cs.drawText(dateTime, 20f, pHeight+15f, tPaint);


                FileOutputStream fileOutputStream = null;
                try {
                    fileOutputStream = new FileOutputStream(_pictureUri.getPath ());
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                }


                    dest.compress(Bitmap.CompressFormat.JPEG, 100, fileOutputStream);


                    Intent intent = new Intent (CameraActivity.this, CameraReviewPhotoActivity.class);
                    intent.putExtra (MediaStore.EXTRA_OUTPUT, _pictureUri);
                    startActivityForResult (intent, CameraActivity.Approved_Image);


            }

需要其他任何东西让我知道。

但谢谢! :)

更新

我没有抓住图像,因此画布没有任何效果。我需要添加

Bitmap decodedBitmap = BitmapFactory.decodeFile (String.valueOf(file));

在顶部,然后

Bitmap bitmap = Bitmap.createBitmap(decodedBitmap, 0, 0, decodedBitmap.getWidth(), decodedBitmap.getHeight()); dest = bitmap.copy(Bitmap.Config.ARGB_8888, true); Canvas cs = new Canvas(dest);

0 个答案:

没有答案