Android 如何使用毕加索模糊图像?
我想在使用毕加索下载后模糊我的图像。事实上,我找到了一个可以为我的图像添加模糊效果的库: 下面是我使用的代码:Android 如何使用毕加索模糊图像?,android,kotlin,picasso,Android,Kotlin,Picasso,我想在使用毕加索下载后模糊我的图像。事实上,我找到了一个可以为我的图像添加模糊效果的库: 下面是我使用的代码: Picasso.get() .load(currentEvent.posterDownloadPath) .transform(BlurTransformation(25,3)) .into(recommendedEventViewHolder.blurryImageView) 但不幸的是,我有一个错误: 我
Picasso.get()
.load(currentEvent.posterDownloadPath)
.transform(BlurTransformation(25,3))
.into(recommendedEventViewHolder.blurryImageView)
但不幸的是,我有一个错误:
我已经尝试了几种方法,但是我仍然不能得到正确的方法来使用这个库的模糊效果。你能帮我添加模糊效果吗?也许你有不同的方法(不使用这个库)
Java还可以。这段代码对我很有用:两种转换都来自wasabeef库
SketchFilterTransformation transformation = new SketchFilterTransformation(this);
BlurTransformation transformation1 = new BlurTransformation(this);
Picasso.get()
.load(mImageUri)
.transform(transformation)
.transform(transformation1)
.rotate(decodeRotation(orientation))
.into((ImageView) findViewById(R.id.image));
URI是文件选择器的数据
我在我的构建gradle中有:
毕加索 要使用毕加索,请遵循以下步骤: 步骤1 将此依赖项添加到渐变:
repositories {
jcenter()
}
dependencies {
compile 'jp.wasabeef:picasso-transformations:2.2.1'
// If you want to use the GPU Filters
compile 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.4.1'
}
步骤2
设置毕加索变换:
Picasso.get()
.load(currentEvent.posterDownloadPath)
.transform(new BlurTransformation(mContext, 25, 1))
.into(recommendedEventViewHolder.blurryImageView);
在科特林,就像这样:
Picasso.get()
.load(currentEvent.posterDownloadPath)
.transform(BlurTransformation(mContext, 25, 1))
.into(recommendedEventViewHolder.blurryImageView)
你也可以使用。Blurry是一个简单的Android模糊库。
但我建议。Fresco是Android应用程序中显示图像的强大系统
壁画
要使用壁画,请遵循以下步骤:
步骤1:创建Android项目,并在模块和同步项目的build.gradle上添加fresco库依赖项
dependencies {
implementation 'com.facebook.fresco:fresco:1.13.0'
implementation 'jp.wasabeef:fresco-processors:2.1.0'
}
步骤2:在MainActivity.java或Application.java的onCreate()方法中初始化fresco
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//initialize fresco
Fresco.initialize(this);
setContentView(R.layout.activity_main);
}
第3步:在活动中添加由Fresco Library提供的SimpleDraweView
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/sdv_image"
android:layout_width="match_parent"
android:layout_height="200dp"
android:src="@mipmap/ic_launcher" />
步骤6:ImageRequest类通过后处理器实例生成具有模糊属性的图像请求
ImageRequest imageRequest = ImageRequestBuilder.newBuilderWithSource(Uri.parse("image url"))
.setPostprocessor(postprocessor)
.build();
步骤7:使用imagerequest和旧的SimpleDraweView创建PipelineDraweeControl
的新实例
controller = (PipelineDraweeController) Fresco.newDraweeControllerBuilder()
.setImageRequest(imageRequest)
.setOldController(simpleDraweeView.getController())
.build();
simpleDraweeView.setController(controller);
步骤8:将控制器传递给SimpleDraweView
controller = (PipelineDraweeController) Fresco.newDraweeControllerBuilder()
.setImageRequest(imageRequest)
.setOldController(simpleDraweeView.getController())
.build();
simpleDraweeView.setController(controller);
就这样,现在构建并运行应用程序
享受一下:)我切换到图书馆的幻灯片,因为我和毕加索也有一些问题。Glide library@Vince是的,我最初使用Glide,后来改用毕加索,因为我已经尝试过了,但我还有一个类似的错误,我使用的是Kotlin。是的,我见过那个模糊的图书馆。但不幸的是,我有点困惑如何使用该库,我有一个图像路径,我想把下载的图像放在一个图像视图中,但我不知道如何使用Blurry应用该库,你能为这种情况添加使用Blurry的代码吗?@Alexa289你必须使用.transform(新的BlurTransformation(McContext,25,1))。谢谢,但如果我使用新的,这就是结果,仍然有error@Alexa289你确定吗?我试过这个和那个都能正常工作。你在用什么语言编码。android还是kotlin?是的,100%。我正在使用Kotlin,Kotlin中没有“新”功能。