Meine Anwendung erfasst das Bild mithilfe der Kameraabsicht. Das Bild wird in einer Datei als "abc.jpg" gespeichert. Jetzt versuche ich mit Picasso Library das Bild zu komprimieren, indem ich die Größe verändere. Ich bekomme keine Ausgabe. Mein Code erreicht niemals die onBitmapLoaded-Option des Ziels und auch keine onBitmapFailed. Hier ist mein Code.Wie komprimiere ich Bilder mit Picasso Library für Android?
public static final String DATA_PATH = Environment
.getExternalStorageDirectory() + "/SnapReminder/";
File file1 = new File(DATA_PATH);
file1.mkdirs();
String _path = DATA_PATH + "abc.jpg";
File file = new File(_path);
Uri imageUri = Uri.fromFile(file);
final Intent intent = new
Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);
startActivityForResult(intent, 0);
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
Picasso.with(context)
.load(_path)
.resize(size, size)
.centerCrop()
.into(new Target() {
@Override
public void onBitmapLoaded(final Bitmap bitmap, Picasso.LoadedFrom
from) {
File file = new File(_path);
try {
file.createNewFile();
FileOutputStream ostream = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, ostream);
ostream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
}
});
}
}
}
kann diesen Link sehen: https: //futurestud.io/blog/picasso-image-resizing-scaling-and-fit – rafsanahmad007