Git Product home page Git Product logo

frescoutils's Introduction

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

======================

Build Status

因为某些原因,现在使用jitpack.io,还请使用依赖的各位切换到jitpack。

在project下的build.gradle添加

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

在module下的build.gradle添加

dependencies {
    compile 'com.github.CarGuo:FrescoUtils:v1.0.8'
}

  • 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

Watchers

James Cloos avatar Luke Chau avatar

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.