[+] Save to file
This commit is contained in:
@@ -2,6 +2,7 @@ package aza.instant
|
|||||||
|
|
||||||
import android.Manifest
|
import android.Manifest
|
||||||
import android.content.pm.PackageManager
|
import android.content.pm.PackageManager
|
||||||
|
import android.graphics.Bitmap
|
||||||
import android.graphics.Picture
|
import android.graphics.Picture
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
@@ -109,13 +110,23 @@ fun FileListerScreen(modifier: Modifier = Modifier) {
|
|||||||
coroutineScope.launch {
|
coroutineScope.launch {
|
||||||
feedbackText = "Rendering..."
|
feedbackText = "Rendering..."
|
||||||
val imageDir = File("/storage/emulated/0/DCIM/CA_IMAGES/")
|
val imageDir = File("/storage/emulated/0/DCIM/CA_IMAGES/")
|
||||||
val latestImage = imageDir.listFiles()?.maxByOrNull { it.lastModified() }
|
val latestImage = imageDir.listFiles()
|
||||||
|
?.filter { !it.name.contains(".framed.") }
|
||||||
|
?.maxByOrNull { it.lastModified() }
|
||||||
if (latestImage != null) {
|
if (latestImage != null) {
|
||||||
try {
|
try {
|
||||||
val templateStream = context.resources.openRawResource(R.raw.postcard4)
|
val templateStream = context.resources.openRawResource(R.raw.postcard4)
|
||||||
val template = BufferedReader(InputStreamReader(templateStream)).readText()
|
val template = BufferedReader(InputStreamReader(templateStream)).readText()
|
||||||
val svg = genSvg(template, latestImage.absolutePath)
|
val svg = genSvg(template, latestImage.absolutePath)
|
||||||
picture = renderSvgAndroid(svg)
|
picture = renderSvgAndroid(context, svg)
|
||||||
|
|
||||||
|
// Save picture to file
|
||||||
|
val file = File(latestImage.parent, "${latestImage.nameWithoutExtension}.framed.png")
|
||||||
|
file.createNewFile()
|
||||||
|
file.outputStream().use { outputStream ->
|
||||||
|
Bitmap.createBitmap(picture!!).compress(Bitmap.CompressFormat.PNG, 90, outputStream)
|
||||||
|
}
|
||||||
|
|
||||||
feedbackText = "Rendered ${latestImage.name}"
|
feedbackText = "Rendered ${latestImage.name}"
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
feedbackText = "Error rendering: ${e.message}"
|
feedbackText = "Error rendering: ${e.message}"
|
||||||
|
|||||||
Reference in New Issue
Block a user