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
相关文章:
上海网站制作网站建设公司,建筑电工证网上查询系统入口?
如何在建站宝盒中设置产品搜索功能?
在线制作视频网站免费,都有哪些好的动漫网站?
西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
建站VPS配置与SEO优化指南:关键词排名提升策略
香港服务器建站指南:免备案优势与SEO优化技巧全解析
如何用狗爹虚拟主机快速搭建网站?
官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站
如何制作算命网站,怎么注册算命网站?
小型网站制作HTML,*游戏网站怎么搭建?
在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?
太平洋网站制作公司,网络用语太平洋是什么意思?
高端云建站费用究竟需要多少预算?
网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?
建站之星如何防范黑客攻击与数据泄露?
Android自定义控件实现温度旋转按钮效果
可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?
建站之星伪静态规则如何设置?
北京网站制作网页,网站升级改版需要多久?
微信小程序 五星评分(包括半颗星评分)实例代码
建站之星3.0如何解决常见操作问题?
网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?
如何通过FTP空间快速搭建安全高效网站?
建站VPS推荐:2025年高性能服务器配置指南
成都响应式网站开发,dw怎么把手机适应页面变成网页?
微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?
建站之星如何开启自定义404页面避免用户流失?
如何在云主机上快速搭建网站?
实现点击下箭头变上箭头来回切换的两种方法【推荐】
家庭服务器如何搭建个人网站?
高性能网站服务器部署指南:稳定运行与安全配置优化方案
如何在阿里云完成域名注册与建站?
大型企业网站制作流程,做网站需要注册公司吗?
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
建站之星导航如何优化提升用户体验?
香港网站服务器数量如何影响SEO优化效果?
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
小型网站建站如何选择虚拟主机?
如何在香港服务器上快速搭建免备案网站?
网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?
如何在阿里云购买域名并搭建网站?
北京制作网站的公司,北京铁路集团官方网站?
网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?
专业网站制作服务公司,有哪些网站可以免费发布招聘信息?
中山网站推广排名,中山信息港登录入口?
建站之星如何一键生成手机站?
*请认真填写需求信息,我们会在24小时内与您取得联系。