String str ="测试字符串";
int len = str.getBytes().length;
int w = len *16;
int h =32;
Bitmap strBitmap =Bitmap.createBitmap(w, h,Bitmap.Config.RGB_565);
Canvas c =newCanvas(strBitmap);
Paint paint =newPaint(Paint.ANTI_ALIAS_FLAG);
paint.setTextSize(35);
Typeface tf =Typeface.createFromAsset(getAssets(),"caiyun");
paint.setTypeface(tf);
paint.setColor(0xFFFFFFFF);
paint.setTextAlign(Align.LEFT);
FontMetrics fm = paint.getFontMetrics();
c.drawText(str,0, h + fm.top - fm.ascent, paint);
c.save();
其中 c.drawText(str, 0, h + fm.top - fm.ascent, paint);
是在指定位置开始输出文字,而其中“h + fm.top - fm.ascent”就是这里面的关键,h相当与一个参照(我这里是要把文字写到一个bitmap上,所以h就是bitmap的基准),fm.top - fm.ascent是开始输出文字的baseline,不太明白的请看 Canvas.drawText的说明:
Draw the text, with origin at (x,y), using the specified paint. The origin is interpreted based on the Align setting in the paint.
这个origin就是文字baseline基线的坐标。
另外关于Typeface,比较遗憾是不太明白如何设置其他中文字体,比如宋体,楷体之类的,
Typeface.createFromAsset(getAssets(), "caiyun");
相关推荐
主要为大家详细介绍了android canvas drawText()文字居中效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
android利用Paint在Canvas上实现竖排写字
主要给大家介绍了关于Android Canvas drawText文字居中的一些事,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
public void drawText (String text, float x, float y, Paint paint) public void drawText (String text, int start, int end, float x, float y, Paint paint) public void drawText (CharSequence text, int ...
本文介绍怎么解决canvas绘图过程中,drawText的换行问题,先看一个大家平时在canvas绘制文本都会遇到的问题: 一个150*100的canvas画布,加个边框明显边界 <canvas id=canvas xss=removed width=200px height=100px...
canvas.drawText("此界面为自定义的View", 60, 170, paint); } 另外的代码引用自MyView: public void onCreate(Bundle savedInstanceState) {//重写的onCreate方法 super.onCreate(savedInstanceState);...
canvas-blur 通过canvas实现毛玻璃效果 Fabio Sasso制作过一个事例使用了 html2canvas 0.4.1 (js截图库) Stackblur (图片模糊处理) 完成了一个半透明的导航栏 对比通过CSS的改进实现毛玻璃的效果 (image.css ...
代码片段: function reset() { hue = colorConfig.baseHue; ... w = canvas.width = window.innerWidth;... h = canvas.height = window.innerHeight;... spikeLength = w * config.... drawText(); }
Java中的Canvas绘图源码实例,主要是画线条、弧线、圆角矩形、三角形、文字、圆形等简单的几何图形,主要是通过创建DrawingCanvas对象canvas,为canvas设置命令监听者,实现接口CommandListener的方法,把缓冲区图像...
利用AutoScrollTextView类实现文字自动滚动。跑马灯效果。
Canvas 图片绘制组件该组件提供了 Canvas 的 图片绘制 与 文本绘制 功能,使用同步的语法完成异步绘制,简化原生 canvas 绘制语法。安装使用 安装:npm i create-picture --save导入 create-pictureimport ...
Android TextView drawText BaseLine理解 解决问题:如何设置绘制文本在盒子中 垂直居中 ...import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; im
canvas.drawText(xlist.get(i) + "", XSpac + xoffset * i, getHeight() - YSpac + textsize, paintText); } // for (int i = 0; i (); i++) { // for (int j = 0; j ; j++) { // canvas.drawLine...
canvas.drawText(String.valueOf(mText.charAt(i - 1)), (i - 1) * charLength * 1.6f + 30, mHeight * 2 / 3f, mTextPaint); canvas.restore(); } // 产生干扰效果1 -- 干扰点 for (PointF pointF : mPoints)...
canvas.drawText("这里是游戏视图-SurfaceView", 40, 40, paint); } } catch (Exception e) { // TODO: handle exception } finally { if (canvas != null) sfh.unlockCanvasAndPost(canvas); } } /** *...
canvas.drawText("当前重力传感器的值:", arc_x - 50, arc_y-30, paint); canvas.drawText("x=" + x + ",y=" + y + ",z=" + z, arc_x - 50, arc_y, paint); String temp_str = "Himi提示: "; ...................
公司产品需要一个雷达图来展示各维度的比重,网上找了一波,学到不少,直接自己上手来撸一记 无图言虚空 简单分析一波,确定雷达图正几边形的–... drawText(canvas);//描绘文字 drawRegion(canvas);//覆盖区域 } 主