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 开发中,绘制居中文字是非常常见的需求。通过使用 Canvas 的 drawText 方法,可以实现文字的绘制,但是文字的居中是一个需要注意的问题。本文将通过...
- **Canvas**:Canvas是Android中的画布,提供了各种绘制方法,如drawRect(), drawText()等,让我们能够在屏幕上绘制图形和文本。 - **Paint**:Paint是Android的画笔,它定义了图形和文本的样式,如颜色、字体...
`drawText()`方法是Canvas的一个关键函数,用于在指定位置绘制文本。本篇文章将深入探讨如何利用`drawText()`实现文字居中效果。 首先,`drawText(String text, float x, float y, Paint paint)`方法的参数含义如下...
`drawText()`方法是Canvas提供的一个关键功能,用于在指定的位置绘制文本。本文将深入解析`drawText()`的用法及其与文字居中相关的策略。 首先,我们来看一下`drawText()`的几个重载方法: 1. `drawText(String ...
本文介绍怎么解决canvas绘图过程中,drawText的换行问题,先看一个大家平时在canvas绘制文本都会遇到的问题: 一个150*100的canvas画布,加个边框明显边界 <canvas id=canvas xss=removed width=200px height=100px...
canvas.drawText("Hello, Canvas!", 20, 60, paint); // 绘制文本 ``` 5. **清空画布** 清空画布通常意味着擦除当前视图中的所有绘制内容。在Android中,我们无法直接“清空”Canvas,但可以通过重新绘制背景色...
该代码是一个完整的Android工程,详细演示如了如何使用Android中的各种drawXXX方法,以及画笔Paint如何影响绘制的效果。 具体参见博文: http://blog.csdn.net/iispring/article/details/49770651
在小程序中,我们可以使用`wx.createCanvasContext`方法来获取canvas的绘图上下文对象,这个对象提供了如`drawText`、`fillText`等方法用于在canvas上绘制和填充文字。而实现文字缩放的关键在于调整这些方法中的字体...
除了TextOut,还有其他与文字相关的Canvas方法,如DrawText和FormatText,它们提供了更高级的排版和格式化功能。DrawText可以控制文字的对齐方式、背景填充等,FormatText则支持复杂的文本布局,包括换行、缩进等。 ...
canvas.drawText("Hello, World!", 250, 150, paint); // 绘制红色文本 } ``` 通过结合使用Paint和Canvas,开发者可以创建出丰富多彩的自定义视图,满足各种复杂的UI需求。在实际项目中,还可以结合MotionEvent和...
Canvas提供了许多方法,如drawRect(), drawCircle(), drawText()等,这些方法接收不同的参数,如颜色、位置等,以完成各种绘制任务。 在创建Android机器人的过程中,我们通常会先定义一个Bitmap对象,这个Bitmap...
Canvas是Android系统中用于2D图形绘制的核心组件,它提供了丰富的功能来在屏幕上画出各种形状、图像和文字。在Android应用开发中,Canvas经常被用来实现自定义视图、动画效果以及游戏画面等。本篇文章将深入解析...
4. `drawText(String text, float x, float y, Paint paint)`: 在指定位置绘制文本。 5. `drawBitmap(Bitmap bitmap, float left, float top, Paint paint)`: 在Canvas上绘制Bitmap。 Canvas的绘图操作都是基于坐标...
- **实现方法**: 使用双缓冲机制,即在另一个缓冲Canvas上绘图和绘制文字,最后根据`scaleH`进行缩放,并将缓冲Canvas的内容绘制到屏幕Canvas上。 ```javascript let canvasBuffer = document.createElement(...
- `drawText()`: 在指定位置绘制文本。 4. **绘图属性** - `setColor()`: 设置当前颜色,用于后续的填充操作。 - `setStrokeWidth()`: 设置线条宽度。 - `setPaint()`: 使用Paint对象设置更复杂的绘图属性,如...
`drawText()`允许开发者在Canvas上精确地放置文字,这对于创建自定义视图、日历应用、游戏等具有高度视觉定制的应用程序至关重要。 首先,让我们理解`drawText()`的基本用法。在Java代码中,你可以使用Canvas对象的...
在 Android 平台上,DrawText 字符串的绘制是通过使用 Canvas 和 Paint 对象来实现的。 在上面的代码中,我们可以看到,TextUtil 类是用于绘制字符串的工具类。该类中包含了多个变量,用于存储字符串的绘制信息,...