目录
12 Fresco的BasePostprocessor图片处理
10. Fresco的ImageRequest
10.1 设置缩略图Thumbnail
ImageRequest imageRequest = ImageRequestBuilder
.newBuilderWithSource(Uri.parse(imgUrl1))
.setLocalThumbnailPreviewsEnabled(true)
.build();
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setLowResImageRequest(imageRequest)
.setImageRequest(ImageRequest.fromUri(imgUrl2))
.build();
draweeView.setController(controller);
10.2 设置固定大小
GenericDraweeHierarchy hierarchy = draweeView.getHierarchy();
hierarchy.setActualImageScaleType(ScalingUtils.ScaleType.CENTER);
ImageRequest imageRequest = ImageRequestBuilder
.newBuilderWithSource(Uri.parse(imgUrl2))
.setResizeOptions(new ResizeOptions(300, 300))
.build();
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setImageRequest(imageRequest)
.build();
draweeView.setController(controller);
10.3 高斯模糊
ImageRequest request = ImageRequestBuilder
.newBuilderWithSource(Uri.parse(imgUrl1))
.setPostprocessor(new IterativeBoxBlurPostProcessor(3, 3))
.build();
AbstractDraweeController controller = Fresco.newDraweeControllerBuilder()
.setOldController(draweeView.getController())
.setImageRequest(request)
.setAutoPlayAnimations(true)
.setTapToRetryEnabled(true)
.build();
draweeView.setController(controller);
10.4 模糊变换
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(Uri.parse(imgUrl1))
.setPostprocessor(new BlurPostProcessor(10, getApplicationContext()))
.build();
AbstractDraweeController controller = Fresco.newDraweeControllerBuilder()
.setOldController(draweeView.getController())
.setImageRequest(request)
.setAutoPlayAnimations(true)
.setTapToRetryEnabled(true)
.build();
draweeView.setController(controller);
10.5 灰白变换
mageRequest request = ImageRequestBuilder.newBuilderWithSource(Uri.parse(grayUrl))
.setPostprocessor(new BlurPostProcessor(10, getApplicationContext()))
.build();
AbstractDraweeController controller = Fresco.newDraweeControllerBuilder()
.setOldController(draweeView.getController())
.setImageRequest(request)
.setAutoPlayAnimations(true)
.setTapToRetryEnabled(true)
.build();
draweeView.setController(controller);