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中没有“新”功能。