博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【转】android下不规则多边形填充位图
阅读量:5058 次
发布时间:2019-06-12

本文共 1080 字,大约阅读时间需要 3 分钟。

最近研究android的2D图形,在android中,画多边形的方法很多,这里提供一个简单的方法。

用Path来实现。

Path path = new Path();

path.moveTo(50, 50);
path.lineTo(100, 50);
path.lineTo(100, 0);
path.lineTo(150, 0);
path.lineTo(150, 50);
path.lineTo(200, 50);

path.lineTo(200, 100);

path.lineTo(250, 100);
path.lineTo(250, 150);
path.lineTo(200, 150);
path.lineTo(200, 200);

path.lineTo(150, 200);

path.lineTo(150, 250);
path.lineTo(100, 250);
path.lineTo(100, 200);
path.lineTo(50, 200);

path.lineTo(50, 150);

path.lineTo(0, 150);
path.lineTo(0, 100);
path.lineTo(50, 100);

path.close();

//生成多边形

mDrawable = new ShapeDrawable(new PathShape(path, 250, 250));
//mDrawable.getPaint().setColor(Color.RED);

Bitmap bitmap = BitmapFactory.decodeResource(this.getResources(), R.drawable.test);

Bitmap b1 = Bitmap.createBitmap(bitmap, 0, 0, 250, 250);     //生成符合多边形大小的位图,避免出现分辨率问题
Shader aShader = new BitmapShader(b1, Shader.TileMode.REPEAT, Shader.TileMode.REPEAT);
mDrawable.getPaint().setShader(aShader);     //填充位图

mDrawable.setBounds(0,0,250,250);    //设置边界尺寸

最终生成如图示

QQ截图未命名

原文地址:

转载于:https://www.cnblogs.com/yingql/archive/2011/08/12/2136020.html

你可能感兴趣的文章
亿级SQL Server运维的最佳实践PPT分享
查看>>
快速理解高性能HTTP服务端的负载均衡技术原理(转)
查看>>
BZOJ 3038: 上帝造题的七分钟2
查看>>
BZOJ 3402: [Usaco2009 Open]Hide and Seek 捉迷藏
查看>>
MapReduce详解及shuffle阶段
查看>>
css可视化格式模式
查看>>
HDU1257最少拦截系统
查看>>
[bzoj3273]liars
查看>>
Graph_Master(连通分量_B_Trajan+完全图)
查看>>
【Shiro】四、Apache Shiro授权
查看>>
Alpha阶段个人总结
查看>>
作业一:android开发平台的演变以及Android Studio设置
查看>>
RAC改动归档文件夹
查看>>
nyoj 14 会场安排问题
查看>>
Linux 的启动流程
查看>>
Hadoop自学笔记(一)常见Hadoop相关项目一览
查看>>
使用Three.js绘制一个虚拟城市
查看>>
【译】多态(一)
查看>>
c++心得00010- sort part2 的应用(额,还是单独写出来吧。。。2333)
查看>>
UVAOJ 10112 基础题 Myacm三角形 几何计算
查看>>