任何Android库来调整图像的大小?



是否有任何Android库来调整图像大小并将其保存在适当的位置?我在我的项目中使用Jetpack Compose和Kotlin。我的应用程序有一个拍照和从图库中选择图片的功能。我需要调整捕获或选择的图像的大小,并创建他们的缩略图。我研究了毕加索和格莱德等等。但是,他们似乎只是为了显示而调整内存中的图像大小。

你可以使用Glide来调整大小,但是你也可以用它来保存为图像

,例如使用这个来存储位图,

Glide.with(getApplicationContext())
.load("https://i.stack.imgur.com/quwoe.jpg")
.asBitmap()
.into(new SimpleTarget<Bitmap>() {
@Override
public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) {
saveImage(resource);
}
});
//code to save the image 
private void saveImage(Bitmap resource) {
String savedImagePath = null;
String imageFileName =  "image" + ".jpg";

final File storageDir = new File(Environment.getExternalStorageDirectory().getAbsolutePath() +
"/Pics");
boolean success = true;
if(!storageDir.exists()){
success = storageDir.mkdirs();
}
if(success){
File imageFile = new File(storageDir, imageFileName);
savedImagePath = imageFile.getAbsolutePath();
try {
OutputStream fOut = new FileOutputStream(imageFile);
resource.compress(Bitmap.CompressFormat.JPEG, 100, fOut);
fOut.close();
} catch (Exception e) {
e.printStackTrace();
}
// Add the image to the system gallery
galleryAddPic(savedImagePath);
Toast.makeText(this, "IMAGE SAVED", Toast.LENGTH_LONG).show();
}
}
// Add the image to the system gallery
private void galleryAddPic(String imagePath) {
Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
File f = new File(imagePath);
Uri contentUri = Uri.fromFile(f);
mediaScanIntent.setData(contentUri);
sendBroadcast(mediaScanIntent);
}
  1. 调整大小
  2. 用Glide保存

相关内容

  • 没有找到相关文章

最新更新