Android Paint 画任意多边形 20C

paint初始化地时候是这么设置的:
paint.setStyle(Paint.Style.STROKE);
别的地方也没有对paint继续style的设置

但是在drawPath的过程中被设置成Fill 这种状况很不确定(部分机子会出现)
不知道是为什么 求解

5个回答

Android在用画笔的时候有三种Style,分别是
Paint.Style.STROKE 只绘制图形轮廓(描边)
Paint.Style.FILL 只绘制图形内容
Paint.Style.FILL_AND_STROKE 既绘制轮廓也绘制内容

STROKE和FILL_AND_STROKE的粗细是一样的,FILL最细

qq_24852895
qq_24852895 所以问题怎么解决呢?
一年多之前 回复

我Log过Style的值 它没有改变 只是表现成了Fill 的形式

你绘制的时候是不是很细,你要知道你的画笔粗细会影响到,画笔是从中心到两边变粗的,你可以看看是不是这个原因

qq_24852895
qq_24852895 我设置了宽度为3,
一年多之前 回复

drawPath方法:绘制任意多边形
【功能说明】该方法用于在画布上绘制任意多边形,通过指定Path对象来实现。在Path对象中规划了多边形的路径信息。该方法是绘制任意多边形的主要方法,当然也可以使用drawLines方法来实现,但是drawPath方法更为灵活、方便。
【基本语法】public void drawPath (Path path, Paint paint)
参数说明
path:包含路径信息的Path对象。
paint:绘制时所使用的画笔。
【实例演示】下面通过代码来演示如何在画布上绘制任意多边形。
protected void onDraw(Canvas canvas) {

// TODO Auto-generated method stub

super.onDraw(canvas);

paint.setAntiAlias(true); //设置画笔为无锯齿

paint.setColor(Color.BLACK); //设置画笔颜色

canvas.drawColor(Color.WHITE); //白色背景

paint.setStrokeWidth((float) 3.0); //线宽

paint.setStyle(Style.STROKE);

Path path = new Path();                     //Path对象  
path.moveTo(50, 100);                           //起始点  
path.lineTo(50, 300);                           //连线到下一点  
path.lineTo(100, 500);                      //连线到下一点  
path.lineTo(400, 500);                      //连线到下一点  
path.lineTo(300, 300);                      //连线到下一点  
path.lineTo(450, 50);                           //连线到下一点  
path.lineTo(200, 200);                      //连线到下一点  
canvas.drawPath(path, paint);                   //绘制任意多边形  

}

在这段代码中,首先设置了Paint画笔的颜色,并设置Canvas画布为白色背景。接着设置画笔的线宽以及空心效果。然后,定义一个Path对象,并通过moveTo方法设置起始点,使用lintTo方法连线到下一点。最后,调用drawPath方法来绘制任意多边形。读者运行这段代码,可以在手机屏幕上看到如图8.21所示的显示效果。

图片:
http://images.51cto.com/files/uploadimg/20120411/123940128.jpg
图8.21 绘制多边形

注意:如果需要绘制一个封闭的多边形,则将最后一点的坐标设置为起始点坐标即可。

qq_24852895
qq_24852895 我就是这样写的但是,这个问题依旧存在 STROKE 变成了 Fill的样子,但是这个值依旧是STROKE...
一年多之前 回复

图片说明 就设置了这么多属性 就各位大神帮忙想个招

u011208377
u011208377 把例子传到github吧
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!