Add interactive gallery preview before applying tilt-shift effect
Instead of immediately processing gallery images, show a preview where users can adjust blur parameters before committing. Adds Cancel/Apply buttons and hides camera-only controls during gallery preview mode. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
780a8ab167
commit
5d80dcfcbe
2 changed files with 228 additions and 119 deletions
|
|
@ -189,6 +189,21 @@ class ImageCaptureHandler(
|
|||
return BitmapFactory.decodeByteArray(bytes, 0, bytes.size)
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads a gallery image and applies EXIF rotation, returning the bitmap for preview.
|
||||
* The caller owns the returned bitmap and is responsible for recycling it.
|
||||
*/
|
||||
suspend fun loadGalleryImage(imageUri: Uri): Bitmap? = withContext(Dispatchers.IO) {
|
||||
try {
|
||||
val bitmap = loadBitmapFromUri(imageUri)
|
||||
?: return@withContext null
|
||||
applyExifRotation(imageUri, bitmap)
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "Failed to load gallery image for preview", e)
|
||||
null
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Processes an existing image from the gallery through the tilt-shift pipeline.
|
||||
* Loads the image, applies EXIF rotation, processes the effect, and saves both versions.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue