From 859da1551f98961f4a327616c0f99bbccc3f8f0b Mon Sep 17 00:00:00 2001 From: liuguijing <123456> Date: Thu, 9 Jan 2025 17:35:28 +0800 Subject: [PATCH] =?UTF-8?q?=E7=95=8C=E9=9D=A2=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xypower/mppreview/Camera2RawFragment.java | 16 +++++------ .../com/xypower/mppreview/ImageSaver.java | 27 +++---------------- .../xypower/mppreview/ImageSaverBuilder.java | 2 +- .../{ => interfaces}/CompleteCallback.java | 2 +- 4 files changed, 11 insertions(+), 36 deletions(-) rename app/src/main/java/com/xypower/mppreview/{ => interfaces}/CompleteCallback.java (58%) diff --git a/app/src/main/java/com/xypower/mppreview/Camera2RawFragment.java b/app/src/main/java/com/xypower/mppreview/Camera2RawFragment.java index 06e912b..45b5a0c 100644 --- a/app/src/main/java/com/xypower/mppreview/Camera2RawFragment.java +++ b/app/src/main/java/com/xypower/mppreview/Camera2RawFragment.java @@ -5,14 +5,11 @@ import static java.lang.System.loadLibrary; import android.Manifest; import android.app.Activity; -import android.app.Dialog; import android.content.Context; -import android.content.DialogInterface; import android.content.pm.PackageManager; import android.graphics.Bitmap; import android.graphics.ImageFormat; import android.graphics.Matrix; -import android.graphics.Paint; import android.graphics.Point; import android.graphics.Rect; import android.graphics.RectF; @@ -32,11 +29,8 @@ import android.hardware.camera2.params.MeteringRectangle; import android.hardware.camera2.params.StreamConfigurationMap; import android.media.Image; import android.media.ImageReader; -import android.os.AsyncTask; import android.os.Bundle; -import androidx.appcompat.app.AlertDialog; -import androidx.fragment.app.DialogFragment; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentActivity; @@ -62,11 +56,10 @@ import android.widget.Toast; import com.xypower.mppreview.bean.Contants; import com.xypower.mppreview.bean.PngPhotoBean; +import com.xypower.mppreview.interfaces.CompleteCallback; import com.xypower.mppreview.widget.ErrorDialog; import java.io.File; -import java.io.OutputStream; -import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -74,7 +67,6 @@ import java.util.Comparator; import java.util.List; import java.util.Map; import java.util.TreeMap; -import java.util.concurrent.Executor; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Semaphore; @@ -1125,7 +1117,11 @@ public class Camera2RawFragment extends Fragment { } ImageSaver.ImageInfo img1 = images.get(0); ImageSaver.ImageInfo img2 = images.get(1); - makeHdr3(img1.exposureTime, img1.bitmap, img1.length, img2.exposureTime, img2.bitmap, img2.length, outputPath + "HDR_" + HdrUtil.generateTimestamp() + ".jpg"); + boolean b = makeHdr3(img1.exposureTime, img1.bitmap, img1.length, img2.exposureTime, img2.bitmap, img2.length, outputPath + "HDR_" + generateTimestamp() + ".jpg"); + if (b) { + showToast("HDR拍摄成功"); + } + } }).start(); } diff --git a/app/src/main/java/com/xypower/mppreview/ImageSaver.java b/app/src/main/java/com/xypower/mppreview/ImageSaver.java index 48867a4..5991c9f 100644 --- a/app/src/main/java/com/xypower/mppreview/ImageSaver.java +++ b/app/src/main/java/com/xypower/mppreview/ImageSaver.java @@ -1,28 +1,21 @@ package com.xypower.mppreview; -import static com.xypower.mppreview.Camera2RawFragment.makeHdr; -import static com.xypower.mppreview.HdrUtil.generateTimestamp; - import android.content.Context; import android.graphics.Bitmap; import android.graphics.ImageDecoder; import android.graphics.ImageFormat; import android.hardware.camera2.CameraCharacteristics; -import android.hardware.camera2.CaptureRequest; import android.hardware.camera2.CaptureResult; import android.hardware.camera2.DngCreator; import android.media.Image; import android.media.ImageReader; -import android.os.Environment; import android.util.Log; -import android.widget.Toast; import androidx.annotation.NonNull; -import com.xypower.mppreview.bean.Contants; import com.xypower.mppreview.bean.PngPhotoBean; +import com.xypower.mppreview.interfaces.CompleteCallback; -import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; @@ -38,7 +31,7 @@ public class ImageSaver implements Runnable { private final File mFile; private final CaptureResult mCaptureResult; private final CameraCharacteristics mCharacteristics; - private CompleteCallback mCallback; + private CompleteCallback mCallback; private final Context mContext; private final ImagePair mImagePair; @@ -154,21 +147,6 @@ public class ImageSaver implements Runnable { byteBuffer.limit(byteBuffer.position()); byteBuffer.flip(); Log.d(TAG, "After Saving DNG Exp=" + t.toString() + " size=" + byteBuffer.limit()); - - /* - FileOutputStream output = null; - try { - output = new FileOutputStream(mFile); - dngCreator.writeImage(output, mImage); - success = true; - } catch (IOException e) { - e.printStackTrace(); - } finally { - mImage.close(); - closeOutput(output); - } - - */ ImageDecoder.OnHeaderDecodedListener listener = new ImageDecoder.OnHeaderDecodedListener() { @Override public void onHeaderDecoded(@NonNull ImageDecoder decoder, @NonNull ImageDecoder.ImageInfo info, @NonNull ImageDecoder.Source source) { @@ -219,6 +197,7 @@ public class ImageSaver implements Runnable { } } mReader.close(); + } private static void closeOutput(OutputStream outputStream) { diff --git a/app/src/main/java/com/xypower/mppreview/ImageSaverBuilder.java b/app/src/main/java/com/xypower/mppreview/ImageSaverBuilder.java index bc27c26..c3b34a0 100644 --- a/app/src/main/java/com/xypower/mppreview/ImageSaverBuilder.java +++ b/app/src/main/java/com/xypower/mppreview/ImageSaverBuilder.java @@ -7,10 +7,10 @@ import android.media.Image; import android.media.ImageReader; import com.xypower.mppreview.bean.PngPhotoBean; +import com.xypower.mppreview.interfaces.CompleteCallback; import java.io.File; import java.util.ArrayList; -import java.util.List; public class ImageSaverBuilder { public Image mImage; diff --git a/app/src/main/java/com/xypower/mppreview/CompleteCallback.java b/app/src/main/java/com/xypower/mppreview/interfaces/CompleteCallback.java similarity index 58% rename from app/src/main/java/com/xypower/mppreview/CompleteCallback.java rename to app/src/main/java/com/xypower/mppreview/interfaces/CompleteCallback.java index ac287a3..e4694c6 100644 --- a/app/src/main/java/com/xypower/mppreview/CompleteCallback.java +++ b/app/src/main/java/com/xypower/mppreview/interfaces/CompleteCallback.java @@ -1,4 +1,4 @@ -package com.xypower.mppreview; +package com.xypower.mppreview.interfaces; public interface CompleteCallback { void onResult();