最近研究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); //设置边界尺寸

最终生成如图示

更多相关文章

  1. android_防止被反编译 混淆
  2. android中加载大图片到内存
  3. Android属性之build.prop生成过程
  4. 在android目录下一键生成cscope.out文件
  5. Android(安卓)生成keystore,两种方式
  6. Android(安卓)Studio下多渠道打包
  7. android生成缩略图
  8. Android中NDK的使用方法
  9. android调用系统分享

随机推荐

  1. App Engine JDO Persistent类从com.googl
  2. 使用java实现的超简单的单向链表 头插法
  3. 在JComboBox箭头JButton上附加动作事件
  4. socket实现客户端与服务端通信(一)服务端
  5. 快来寻找属于你的超级OA
  6. TransactionSystemException:无法提交JPA
  7. java实现约瑟夫问题
  8. Java:在特定队列大小之后,以提交方式阻塞
  9. 帮忙解析一下 java解析普通的文本文件,提
  10. javax.mail.AuthenticationFailedExcepti