android canvas.scale()文字缩放后变模糊

fwt55 2014-04-09 09:52:03
如题,效果如下


前一张是小米2S放大后的,后一张是nexus10放大后的,绘制的代码如下
public class MyView extends View  {
private final Paint mPaint;
private int mICount = 0;
private float mDpi;

public MyView(Context context) {
super(context);
mPaint = new Paint();

Activity parent = (Activity)context;
DisplayMetrics dm = new DisplayMetrics ();
parent.getWindowManager().getDefaultDisplay().getMetrics(dm);
mDpi = dm.densityDpi;
}

@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.translate(50,50 );
canvas.scale(mDpi/72, mDpi/72);
canvas.drawText("中华人民共和国", 50, 50, mPaint);
}


public float convertPtToPx(float size){
return size*mDpi/72;
}


}
...全文
1158 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
skjebne 2014-08-05
  • 打赏
  • 举报
回复
我也遇到了这个问题,不过我在view级别关闭硬件加速后,什么都画不出来了。。。
gamedragon 2014-08-05
  • 打赏
  • 举报
回复
文字的话最好用字体大小来设,不要用scale
asia_deng 2014-08-05
  • 打赏
  • 举报
回复
mPaint用Paint的子类TextPaint,设置字体大小
fwt55 2014-04-11
  • 打赏
  • 举报
回复
还是我自己贴出方法吧,在api14以后,绘制的时候会默认开启硬件加速,而硬件加速绘制跟软件普通绘制是不一样的,只要绘制的时候关闭View层的硬件加速就正常了
fwt55 2014-04-11
  • 打赏
  • 举报
回复
CSDN是不是真的不行了?还是大神们不给力啊

80,360

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧