store Bitmap as PNG in Pictures directory

This commit is contained in:
Ahmet Inan 2014-12-10 18:04:36 +01:00
parent 88a13d9a9b
commit 2c52be93cd
3 changed files with 42 additions and 1 deletions

View file

@ -3,6 +3,7 @@
package="xdsopl.robot36" >
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"

View file

@ -335,7 +335,7 @@ public class ImageView extends SurfaceView implements SurfaceHolder.Callback {
if (savedHeight[0] > 0) {
rsDecoderSavedWidth.copyTo(savedWidth);
rsDecoderSavedBuffer.copyTo(savedBuffer);
Bitmap savedBitmap = Bitmap.createBitmap(savedBuffer, savedWidth[0], savedHeight[0], Bitmap.Config.ARGB_8888);
activity.storeBitmap(Bitmap.createBitmap(savedBuffer, savedWidth[0], savedHeight[0], Bitmap.Config.ARGB_8888));
}
}
}

View file

@ -18,12 +18,22 @@ limitations under the License.
package xdsopl.robot36;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.view.Menu;
import android.view.MenuItem;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class MainActivity extends Activity {
private ImageView view;
private Bitmap bitmap;
void updateTitle(final String newTitle)
{
@ -37,6 +47,36 @@ public class MainActivity extends Activity {
}
}
void storeBitmap(Bitmap image) {
bitmap = image;
runOnUiThread(new Runnable() {
@Override
public void run() {
String name = new SimpleDateFormat("yyyyMMdd_HHmmss_").format(new Date());
File dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
if (!dir.exists())
dir.mkdirs();
File file;
FileOutputStream stream;
try {
file = File.createTempFile(name, ".png", dir);
stream = new FileOutputStream(file);
} catch (IOException ignore) {
return;
}
bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
try {
stream.close();
} catch (IOException ignore) {
return;
}
Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
intent.setData(Uri.fromFile(file));
sendBroadcast(intent);
}
});
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);