我想调整 glide 使用的图像大小。现在我使用毕加索,但我想使用滑行private void resizeImg(Context context, final File file, int targetSize, Handler handler) { final BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; BitmapFactory.decodeFile(file.getPath(), options); float ratio = Math.max(options.outWidth, options.outHeight) / (float) targetSize; //don't scale image that is smaller than targetSize if (ratio < 1) return; int dstWidth = (int) (options.outWidth / ratio); int dstHeight = (int) (options.outHeight / ratio); PicassoTargetFactory.getInstance().putTarget(file, handler); Picasso.with(context) .load(file) .error(R.drawable.ic_delete) .resize(dstWidth, dstHeight) .into(PicassoTargetFactory.getInstance().getTarget(file)); ArrayList<String> paths = new ArrayList<>(); files = new ArrayList<>(); files.add(mCurrentPhotoPath); for (File f : files) { paths.add(f.getAbsolutePath()); } mdb.insertPhotos(paths); }我怎么能做到这一点?在 piccaso 上有时我有一个剪切图像
3 回答
互换的青春
TA贡献1797条经验 获得超6个赞
首先,在 Gradle 中添加 Glide 库。然后,你可以像这样使用它
Glide
.with(context)
.load("your image path")
.override(600, 200) // resizes the image to these dimensions (in pixel). resize does not respect aspect ratio
.into(imageViewResize);
汪汪一只猫
TA贡献1898条经验 获得超8个赞
在最新版本的 Glide 中,必须通过RequestOptions访问覆盖。
Glide
.with(context)
.load(path)
.apply(new RequestOptions().override(600, 200))
.into(imageViewResizeCenterCrop);
慕后森
TA贡献1802条经验 获得超5个赞
我认为你应该给你的方法一个单一的责任。您想要一种调整图像大小的方法,但您的方法实际上做得更多。请把东西分开
private Bitmap resizeBitmap(Bitmap b, int w, int h) {
// Your code.
return myResizedBitmap;
}
然后会更容易帮助你
添加回答
举报
0/150
提交
取消