Sneyder Angulo
Sneyder Angulo

Reputation: 80

How to save an image in Android without compressing?

I'm making an Android application that captures images and stores them in the internal memory, but to save the images are compressed and I want to be saved in its original size without any compression.

This is the code I am using to store images, as I do so not me compress ??

ContextWrapper cw = new ContextWrapper(context);

File directory = cw.getDir("imageDir", Context.MODE_PRIVATE);

File mypath = new File(directory, "TheChat" + (System.currentTimeMillis()/1000) + "Avatar.jpg");

FileOutputStream fileOutputStream = null;
try {
    fileOutputStream = new FileOutputStream(mypath);
    bitmapImage.compress(Bitmap.CompressFormat.PNG, 100, fileOutputStream);
}
catch (Exception e) {
    e.printStackTrace();
}
finally {
    try {
        if (fileOutputStream != null) {
            fileOutputStream.flush();
            fileOutputStream.close();
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}

Upvotes: 2

Views: 1377

Answers (1)

Mr. Negi
Mr. Negi

Reputation: 154

Save it as a BLOB (bytearray), then reconvert it to a bitmap upon loading it. If it's for internal use only it should work fine. If you're not compressing it at all you might as well save it in a straight-forward format.

Upvotes: 2

Related Questions