Picasso创建圆形图像
2016-05-06 14:20
281 查看
public class CircleTransform implements 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(activity).load(mayorShipImageLink).transform(new CircleTransform()).into(ImageView);
相关文章推荐
- ECLIPSE 设置 UTF8
- JS报错,但是语法没有写错
- setContentView()调用SurfaceView布局文件出错的解决方法
- fragment及fragment的通信
- GestureDetector
- Linux SDIO总线驱动(一)
- 调用android系统相机拍照并保存
- Rafy 框架 - 插件级别的扩展点
- NSPredicate 过滤功能
- java线程——多个线程之间切换执行
- PHP自学no00013常量定义取值判定是否已定义
- Android SimpleArrayMap源码解析
- Android 兼容性介绍之setBackground
- python basestring( )
- Android图片加载神器之Fresco-加载图片基础[详细图解Fresco的使用](秒杀imageloader)
- CSS魔法堂:重拾Border之——更广阔的遐想
- Miller Rabin大素数判定+质因子分解 factor
- jenkins使用简记
- 使用CMD编译JAVA文件时,不要再系统目录下面.
- 图解Detour安装及简单使用实例(Win7+VC6)