Android 实现切圆图作为头像使用实例
更新时间:2016年12月25日 10:48:47 投稿:lqh
这篇文章主要介绍了Android 实现切圆图作为头像使用实例的相关资料,需要的朋友可以参考下
Android 切圆图
效果图如下:
MyView 类
public class MyView extends View { Bitmap bmp; Paint paint = new Paint(); public MyView(Context context) { super(context); } public MyView(Context context, AttributeSet attrs) { super(context, attrs); bmp = BitmapFactory.decodeResource(getResources(), R.mipmap.c); src = new RectF(bmp.getWidth() / 2 - 50, bmp.getHeight() / 2 - 50, bmp.getWidth() / 2 + 50, bmp.getHeight() / 2 + 50); dst = new Rect(200, 200, 400, 400); paint.setAntiAlias(true); paint.setDither(true); Shader shaer = new BitmapShader(bmp, Shader.TileMode.MIRROR, Shader.TileMode.REPEAT); paint.setShader(shaer); } private RectF src = null; private Rect dst = null; @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); //绘制Bitmap Matrix m = new Matrix(); //每次set都会重置矩形 m.setRotate(90, bmp.getWidth() / 2, bmp.getHeight() / 2); m.postTranslate(100, 100); m.preScale(0.5f, 0.5f, bmp.getWidth() / 2, bmp.getHeight() / 2); //错切 m.postSkew(0.3f, 0.3f); // canvas.drawBitmap(bmp, m, null); // canvas.drawBitmap(bmp, src, dst, null); //拿view的高宽 canvas.drawArc(src, 100, 270, true, paint); } }
MainActivity 类
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
xml
<?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:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.administrator.lesson12_drawbitmap.MainActivity"> <com.example.administrator.lesson12_drawbitmap.MyView android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
您可能感兴趣的文章:
- Android自定义view实现圆形、圆角和椭圆图片(BitmapShader图形渲染)
- Android基础之使用Fragment控制切换多个页面
- android客户端从服务器端获取json数据并解析的实现代码
- Android 动画之ScaleAnimation应用详解
- android调试工具DDMS的使用详解
- Android按钮单击事件的四种常用写法总结
- Android的Activity跳转动画各种效果整理
- Android SQLite数据库增删改查操作的使用详解
- Android 动画之RotateAnimation应用详解
- Android基础之Fragment与Activity交互详解
- Android开发之SQLite的使用方法
- Android中判断网络连接是否可用及监控网络状态
- 解析android中ProgressBar的用法
- android 调用系统的照相机和图库实例详解
相关文章
使用Android系统提供的DownloadManager来下载文件
本篇文章主要介绍了使用Android系统提供的DownloadManager来下载文件,可以将长时间的下载任务交给系统,完全由系统管理,有需要的可以了解下。2016-11-11Android控件ImageSwitcher实现左右图片切换功能
这篇文章主要为大家详细介绍了Android控件ImageSwitcher实现左右图片切换功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2016-05-05Android checkbox的listView(多选,全选,反选)具体实现方法
由于listview的一些特性,刚开始写这种需求的功能的时候都会碰到一些问题,重点就是存储每个checkbox的状态值,在这里分享出了完美解决方法:2013-06-06
最新评论