Picasso第三方图片框架显示图片

1:资源:

https://github.com/square/picasso](https://github.com/square/picasso

2:添加权限:

<uses-permission android:name="android.permission.INTERNET"/>

3.布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="www.itcast.com.testpicasso.MainActivity">

    <Button
        android:id="@+id/btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Picasso" />

    <ImageView
        android:id="@+id/iv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>

  4:显示普通图片

//显示普通图片
                Picasso
                        .with(this)// 指定Context
                        .load(url) //指定图片URL
                        .placeholder(R.mipmap.ic_launcher) //指定图片未加载成功前显示的图片
                        .error(R.mipmap.ic_launcher)// 指定图片加载失败显示的图片
                        .resize(400, 600)// 指定图片的尺寸
                        //.fit()// 指定图片缩放类型为fit
                        //.centerInside()// 指定图片缩放类型为centerInside
                       // .centerCrop()// 指定图片缩放类型为centerCrop
                        .memoryPolicy(MemoryPolicy.NO_CACHE, MemoryPolicy.NO_STORE)// 指定内存缓存策略
                        .priority(Picasso.Priority.HIGH)// 指定优先级
                        .into(iv1); // 指定显示图片的ImageView

  5:显示圆形图片

  //显示圆形图片
                Transformation transform = new Transformation() {
                    @Override
                    public Bitmap transform(Bitmap source) {
                        int size = Math.min(source.getWidth(), source.getHeight());
                        int x = (source.getWidth() - size) / 2;
                        int y = (source.getHeight() - size) / 2;
                        Bitmap squaredBitmap = Bitmap.createBitmap(source, x, y, size, size);
                        if (squaredBitmap != source) {
                            source.recycle();
                        }
                        Bitmap bitmap = Bitmap.createBitmap(size, size, source.getConfig());
                        Canvas canvas = new Canvas(bitmap);
                        Paint paint = new Paint();
                        BitmapShader shader = new BitmapShader(squaredBitmap,
                                BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP);
                        paint.setShader(shader);
                        paint.setAntiAlias(true);
                        float r = size / 2f;
                        canvas.drawCircle(r, r, r, paint);
                        squaredBitmap.recycle();
                        return bitmap;
                    }

                    @Override
                    public String key() {
                        return "circle";
                    }
                };
                Picasso
                        .with(this)// 指定Context
                        .load(url) //指定图片URL
                        .transform(transform) // 指定图片转换器
                        .into(iv2); // 指定显示图片的ImageView

  6:显示圆角图片

 //显示圆角图片
                class RoundedTransformation implements com.squareup.picasso.Transformation {
                    private final int radius;
                    private final int margin;  // dp

                    // radius is corner radii in dp
                    // margin is the board in dp
                    public RoundedTransformation(final int radius, final int margin) {
                        this.radius = radius;
                        this.margin = margin;
                    }

                    @Override
                    public Bitmap transform(final Bitmap source) {
                        final Paint paint = new Paint();
                        paint.setAntiAlias(true);
                        paint.setShader(new BitmapShader(source, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP));

                        Bitmap output = Bitmap.createBitmap(source.getWidth(), source.getHeight(), Bitmap.Config.ARGB_8888);
                        Canvas canvas = new Canvas(output);
                        canvas.drawRoundRect(new RectF(margin, margin, source.getWidth() - margin, source.getHeight() - margin), radius, radius, paint);

                        if (source != output) {
                            source.recycle();
                        }

                        return output;
                    }

                    @Override
                    public String key() {
                        return "rounded(radius=" + radius + ", margin=" + margin + ")";
                    }
                }
                Picasso
                        .with(this)// 指定Context
                        .load(url) //指定图片URL
                        .transform(new RoundedTransformation(360,0)) // 指定图片转换器
                        .into(iv3); // 指定显示图片的ImageView

  demo:http://download.csdn.net/detail/tom91/9631371

时间: 2024-11-08 19:13:38

Picasso第三方图片框架显示图片的相关文章

img只显示图片一部分 或 css设置背景图片只显示图片指定区域

17:14 2016/3/22img只显示图片一部分 或 css设置背景图片只显示图片指定区域 background-position: 100% 56%; 设置背景图片显示图片的哪个坐标区域,图片左上角为0,0或0%,0%,右下角为高度和宽度,或100%,100%. clip:rect(300px 100px 300px 0px); 设置显示图片的某个区域,分别是上右下左的顺序设置 部分代码:<style type="text/css">img {position:abs

鼠标悬停图片上方显示图片文字

//代码如下 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>鼠标悬停图片上显示文字 在线演示 www.divcss5.com</title> <style> img{border:0}/* css 注释说明:设置图片边框为0 */ body{behavior:url("csshover.htc");text

cell添加选中时的背景图片、显示图片和图片自适应框的大小

1.给cell添加选中时的背景图片 UIView *myview = [[UIView alloc] init]; myview.frame = CGRectMake(0, 0, 320, 47); myview.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"0006.png"]]; cell.selectedBackgroundView = myview; 2.显示图片 CGRect my

css “裁剪”图片(显示图片的一部分)

背景:朋友有一个需求,就是列表页显示的图片要做裁剪,不然不按比例缩小图片看起来就变形了.本来想好的解决办法是用PHP来生成缩略图,然而试了好几个开源缩略图类都没有一个满意的,突然想到为什么不直接用CSS呢? <style> #sample{ width:100px; height:100px; overflow:hidden; position: relative; border: 1px solid black; } </style> <div id="sampl

JavaScript基础 显示/隐藏效果 点击图片,DIV显示,图片更换,点击更换后的图片,DIV隐藏

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ code: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"

android获取本地图片并显示图片

import java.io.FileNotFoundException; import android.content.ContentResolver; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri; import android.os.Bundle; import android.util.

kindeditor插件,发送图片,显示图片,验证码

<script src="/static/kindeditor/kindeditor-all.js"></script><script> KindEditor.ready(function (y) { window.editor = y.create('#content', { width: '100%', height: '400px', resizeType: 0, uploadJson: '/add_image/', extraFileUplo

可以显示图片的类似网易新闻的头部滚动条(转)

声明:原文来自  http://www.jianshu.com/p/ce4909bc4752 前言, 最近发现一类效果类似网易新闻头部滚动条的效果,不过是可以显示图片(上, 中, 左, 右)和文字, 最近在比较闲的时候顺带把这些效果也一并实现了, 那么这一类的各种效果大致上就实现了Demo地址,供有需要的朋友可以参考 增加效果 图片在左边 图片在右边.gif 图片在上面.gif 只显示图片.gif 原来的效果 --- 只显示文字 oc版滚动示例.gif 关于实现部分, 新增显示的图片的效果, 其

小技巧,如何在Label中显示图片

这个需求其实是有的,比如QQ聊天界面里面发送的信息,可以用label来显示文字(也可以用button显示),但是有时候用户可能会发送图片.如果能让Label遇到文字就显示文字,遇到图片就显示图片就好了.可能有的人会说用Quartz2D,直接在Label的drawinrect 里面用上下文画上去.但这感觉太刻意去弄了,而且比较麻烦. 如果你不是在董铂然博客园看到本文,请点击查看原文 推荐一种用Label系统的属性来做. 1 2 3 4 5 6 7 8 9 10 UIImage *image = [