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 调用系统的照相机和图库实例详解
相关文章
kotlin android extensions 插件实现示例详解
这篇文章主要为大家介绍了kotlin android extensions 插件实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-10-10
Android开源框架的SlidingFragment的使用示例
今天小编就为大家分享一篇关于Android开源框架的SlidingFragment的使用示例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2019-03-03
Android编程之SMS读取短信并保存到SQLite的方法
这篇文章主要介绍了Android编程之SMS读取短信并保存到SQLite的方法,涉及Android针对SMS短信及SQLite数据库的相关操作技巧,需要的朋友可以参考下2015-11-11
实例讲解Android app开发中ListView的基本使用及优化
这篇文章主要介绍了Android app开发中ListView的基本使用及优化,ListView视图组件是Android中最常用的组件之一需要的朋友可以参考下2016-02-02


最新评论