Code Monkey home page Code Monkey logo

frescoutils's Introduction

Fresco 的封装,快速上手,图像后处理,超大图高清预览,缩小放大,双击放大等一一俱全。

Build Status

依赖

在project下的build.gradle添加

allprojects {
	repositories {
		...
		maven { url 'https://jitpack.io' }
	}
}

在module下的build.gradle添加

dependencies {
   implementation "com.github.CarGuo:FrescoUtils:c39608c9b2"
}


1.2.1

update fresco to 1.8.0

1.1.0

update fresco to 1.7.1

update subsampling-scale-image-view to 3.9.0

update photodraweeview to 1.1.3

update gradle to 4.0.1

1.0.8

update fresco to 1.5.0

1.0.7 增加option配置方法;

/**
 * @param imageView  图片加载控件
 * @param loadOption 加载配置构造器
 */
public static void loadFrescoImage(FrescoImageView imageView, LoadOption loadOption) 
  • 1.0.6 update fresco to 1.3.0;

  • 1.0.5 update fresco to 1.2.0;移除无用依赖;

  • 1.0.4 update fresco to 1.0.1,update scaleImage to 3.6.0

  • 1.0.3 update fresco to 1.0.0

  • 1.0.2 最低API调整到15

  • 1.0.1 增加了额FrescoHelper直接超大图加载接口

/**
 * 超大图片的就接口
 *
 * @param context   上下玩
 * @param imageView 图片加载控件
 * @param imageUri  图片地址
 * @param defaultId 默认失败图片
 */
public static void loadBigImage(final Context context, final SubsamplingScaleImageView imageView, String imageUri, final int defaultId)

效果显示

动态图效果

记得记得在Application里初始化

ImagePipelineConfig config = ImagePipelineConfig.newBuilder(this)
        .setDownsampleEnabled(true)
        .build();
Fresco.initialize(this, config);

FrescoHelper 封装了针对 FrescoImageView 的工具类,直接使用FrescoImageView作为ImageView使用即可。

封装了多种类型,这是最全的一种


/**
 * @param imageView     图片加载控件
 * @param uri           路径或者URL
 * @param defaultImg    默认图片
 * @param cornerRadius  弧形角度
 * @param isCircle      是否为圆
 * @param loadLocalPath 是否本地资源,如果显示R.drawable.xxx,Path可以为null,前提isCircle为true
 * @param isAnima       是否显示GIF动画
 * @param size          是否再编码
 * @param postprocessor 图像显示处理
 */
public static void loadFrescoImage(FrescoImageView imageView, String uri, int defaultImg,
                                   int cornerRadius, boolean isCircle, boolean loadLocalPath, boolean isAnima,
                                   Point size, Postprocessor postprocessor) {
    init(imageView, cornerRadius, isCircle, isAnima, size, postprocessor);
    if (loadLocalPath) {
        imageView.loadLocalImage(uri, defaultImg);
    } else {
        imageView.loadView(uri, defaultImg);
    }
}

···

FrescoHelper.loadFrescoImage(frescoImageView, recyclerDataModel.getUrl(), R.mipmap.ic_launcher, 2, false, recyclerDataModel.getSize(), new BlurPostprocessor(context, 10));


带有fresco-processors各种处理特效,高斯,五角形等。

带有subsampling-scale-image-view实现超高清图片超长图片不模糊显示。

带有PhotoDraweeView 功能与PhotoView一样,支持双击放大,单击返回,手动放大与缩小等。

frescoutils's People

Contributors

carguo avatar carguosmall avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

frescoutils's Issues

异常回调显示

显示图片异常,通过onFail()返回当前ui,更换url后再次调用loadBigImage,图片不显示呢

加载查看大图宽度问题

加载查看大图,如果不知道图片的宽高,这时应该如何判断是长图,在加载像微博长图时,如何做到宽度设置为屏幕宽度,高度自适应,谢谢

无法圆角

fresco:roundedCornerRadius 无效 什么情况

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.