The code below get image from some location - and make this image compress image. But i need to make the compress Image to be File ... How can i do it ?
Fil
image.compress
already writes the image to the file, assuming you gave a correct file name.
So use it like this:
File file = new File(Environment.getExternalStorageDirectory() + "/myimage.png");
FileOutputStream fOut = new FileOutputStream(file);
image.compress(Bitmap.CompressFormat.PNG, 100, fOut);
fOut.close();
As stated in the documentation for OutputStream:
Most clients will use output streams that write data to the file system (FileOutputStream), the network (getOutputStream()/getOutputStream()), or to an in-memory byte array (ByteArrayOutputStream).
Meaning the data sent to the OutputStream
has allready been written to your file
.
If what you mean is that you need access to the file once it has been compressed you should look at documentation for the compress() method which states:
If this returns true, the bitmap can be reconstructed by passing a corresponding inputstream to BitmapFactory.decodeStream().
So what you need to do is this:
image = BitmapFactory.decodeStream( new FileInputStream( file ) );