使用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 );
去试试效果吧!
忍不住要小抱怨一句:咋这么不智能呢?竟然还允许有画不出水平线的情况发生~~~~~
那么怎么解决这个问题呢?其实很简单---虽然我是经过了一上午的时间才琢磨出来的,以为我的问题是在画multiline的时候,一条线段的部分被打断了!!!。那就是为Paint设置抗锯齿效果,方法为:Paint pen = new Paint(Paint.ANTI_ALIAS_FLAG );
去试试效果吧!
忍不住要小抱怨一句:咋这么不智能呢?竟然还允许有画不出水平线的情况发生~~~~~
相关文章推荐
- 使用javah生成.h文件, 出现无法访问android.app,Activity的错误的解决办法
- PHP无法使用file_get_contents或者curl_init()函数解决办法
- Keil里面无法使用“Go To Definition Of ”跳转到相应的函数解决办法
- Android | Android Studio无法使用HttpClient的解决办法
- 使用android stuido 编译项目时,项目的路径包含中文无法编译成功解决办法
- Keil里面无法使用“Go To Definition Of ”跳转到相应的函数解决办法
- Android 项目打jar包时遇到包含本地so库无法使用的解决办法
- VS2015 使用 Visual Studio Emulator For Android 调试无法命中断点的解决办法?
- Qt Creator中无法使用OpenCV2中新函数的解决办法
- MySQL中varchar无法使用max()函数的解决办法
- android WebView使用cmwap无法联网解决办法
- android虚拟机键盘无法使用问题的解决办法
- Nios II 无法使用printf()函数的解决办法
- Android Studio SDK-23无法使用HttpStatus类暂时解决办法
- android 虚拟机键盘无法使用问题解决办法
- Android 使用Webview无法播放视频问题的解决办法
- WINCE 6.0 VS2008 中使用WINSOCK函数产生:无法解析的外部符号 等错误的解决办法
- android刷机后,wifi无法使用的解决办法
- android 百度地图使用tabhost 无法定位,解决办法
- 安卓(Android)surfaceview无法使用gesturedetector的解决办法