您的位置:首页 > 移动开发 > Android开发

使用android中drawline函数无法绘制水平线的解决办法

2012-02-03 12:36 288 查看
最近使用canvas在android上做绘图开发,发现如果Paint的setStrokeWidth设置为1,且canvas没有设置抗锯齿效果,则drawline函数将无法绘制出水平的线段,这是为什么呢?原来,如果你将StrokeWidth设为0,android将为你绘制hairline(一般为1pix),而如果你设置为1,那么android将根据比例为你计算1单位宽度所占的像素值,比如你现在的比例是0.75,则android就无法绘制出宽度为0.75像素的线段(特别是在模拟器上,可能更容易出现这种情况,因为电脑像素与手机像素大小不一样)。

那么怎么解决这个问题呢?其实很简单---虽然我是经过了一上午的时间才琢磨出来的,以为我的问题是在画multiline的时候,一条线段的部分被打断了!!!。那就是为Paint设置抗锯齿效果,方法为:Paint pen = new Paint(Paint.ANTI_ALIAS_FLAG );

去试试效果吧!

忍不住要小抱怨一句:咋这么不智能呢?竟然还允许有画不出水平线的情况发生~~~~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: