fresco 加载本地路径图片,并修改图片尺寸

来源:互联网 发布:淘宝店铺男装推荐 编辑:程序博客网 时间:2024/05/17 16:54
mark



int width =100;//目标宽度Postprocessor postprocessor = new Postprocessor() {    @Override    public CloseableReference<Bitmap> process(Bitmap sourceBitmap, PlatformBitmapFactory bitmapFactory) {        int sw = sourceBitmap.getWidth();        int sh = sourceBitmap.getHeight();        float scale = (float) width / (float) sw;        int mscale = sw / width;        float heigh = scale * (float) sh;        int nscale = sh / (int) heigh;        CloseableReference<Bitmap> bitmapRef = bitmapFactory.createBitmap(                width,                (int) heigh);        try {            Bitmap destBitmap = bitmapRef.get();            for (int x = 0, m = 0; x < destBitmap.getWidth() && m < sw; x++, m += mscale) {                for (int y = 0, n = 0; y < destBitmap.getHeight() && n < sh; y++, n += nscale) {                    destBitmap.setPixel(x, y, sourceBitmap.getPixel(m, n));                }            }            return CloseableReference.cloneOrNull(bitmapRef);        } finally {            CloseableReference.closeSafely(bitmapRef);        }    }    @Override    public String getName() {        return null;    }    @Override    public CacheKey getPostprocessorCacheKey() {        return null;    }};ImageRequest request =  //此处是加载本地图片路径的图片ImageRequestBuilder.newBuilderWithSource(Uri.parse("file://" + MyBimp.tempSelectBitmap.get(position).path))                 .setPostprocessor(postprocessor)        .build();PipelineDraweeController controller = (PipelineDraweeController)        Fresco.newDraweeControllerBuilder()                .setImageRequest(request)                .setOldController(holder.mainView.getController())                        // other setters as you need                .build();mainView.setController(controller);


原创粉丝点击