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
# 切圆图
# 切圆图如何实现
# 切圆图实例详解
# 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 调用系统的照相机和图库实例详解
# 希望能
# 谢谢大家
# setAntiAlias
# Shader
# setDither
# true
# getWidth
# RectF
# Rect
# dst
# getHeight
# shaer
# protected
# Override
# null
# Canvas
# onDraw
# void
# MIRROR
# TileMode
相关文章:
制作农业网站的软件,比较好的农业网站推荐一下?
深圳企业网站制作设计,在深圳如何网上全流程注册公司?
实例解析Array和String方法
武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?
太平洋网站制作公司,网络用语太平洋是什么意思?
七夕网站制作视频,七夕大促活动怎么报名?
微网站制作教程,我微信里的网站怎么才能复制到浏览器里?
网站制作公司广州有几家,广州尚艺美发学校网站是多少?
如何在企业微信快速生成手机电脑官网?
岳西云建站教程与模板下载_一站式快速建站系统操作指南
建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南
青岛网站建设如何选择本地服务器?
,怎么用自己头像做动态表情包?
定制建站流程步骤详解:一站式方案设计与开发指南
如何快速搭建响应式可视化网站?
如何挑选高效建站主机与优质域名?
如何用低价快速搭建高质量网站?
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
建站之星客服服务时间及联系方式如何?
做企业网站制作流程,企业网站制作基本流程有哪些?
大连网站设计制作招聘信息,大连投诉网站有哪些?
整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去?
制作网站外包平台,自动化接单网站有哪些?
微信小程序制作网站有哪些,微信小程序需要做网站吗?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
常州自助建站:操作简便模板丰富,企业个人快速搭建网站
学校为何禁止电信移动建设网站?
如何登录建站主机?访问步骤全解析
如何使用Golang table-driven基准测试_多组数据测量函数效率
如何在IIS7上新建站点并设置安全权限?
存储型VPS适合搭建中小型网站吗?
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
如何用IIS7快速搭建并优化网站站点?
如何快速搭建FTP站点实现文件共享?
制作网站公司那家好,网络公司是做什么的?
已有域名和空间如何搭建网站?
如何快速重置建站主机并恢复默认配置?
义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?
北京专业网站制作设计师招聘,北京白云观官方网站?
网站企业制作流程,用什么语言做企业网站比较好?
小程序网站制作需要准备什么资料,如何制作小程序?
c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】
高防服务器租用指南:配置选择与快速部署攻略
专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?
建站主机如何安装配置?新手必看操作指南
新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?
宝塔建站后网页无法访问如何解决?
建站主机默认首页配置指南:核心功能与访问路径优化
网页设计与网站制作内容,怎样注册网站?
如何在腾讯云免费申请建站?
*请认真填写需求信息,我们会在24小时内与您取得联系。