首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

UGL之绘制文本

然后使用uglFontFindString()找到想要的字体;使用uglFontCreate()创建本地字体;使用uglFontSet()将该字体告诉当前图形上下文;最后使用uglTextDraw()绘制文本...一个App中可以创建多个不同的本地字体,绘制文本之前,通过uglFontSet()告诉GC就可以了 GC的前景色指的是字符中每个笔画所占像素的颜色;背景色是每个字符所占据的矩形区域的颜色 如果没有给GC...设置颜色,那么GC就会使用之前的值,而系统刚启动时,GC成员的初值都是0,因此就是黑色了 还有几个相关函数 uglTextDraw()绘制文本时,字符默认对齐到BaseLine,大致是每个字符的左下角...而通常App中是需要对齐到左上角的,那可以使用uglFontDriverInfo()来设置整个字库绘制字符时的起始位置 ? 或者使用uglFontInfo()设置单个字体 ?...使用uglTextSizeGet()计算某段文本在使用某个字体时占据的空间,这样更便于计算uglTextDrawW()的位置 ?

88040
您找到你想要的搜索结果了吗?
是的
没有找到

android绘制虚线

有的时候我们需要一种虚线效果,比如图片的边框,愤怒的小鸟的飞翔路径,那么怎么绘制这些虚线呢?方法很多,目前我觉得好的有两种: 一、自己创建模式,一个点一个点的绘制。...二、用Android提供的 DashPathEffect 类来创建模式绘制。 下面我要演示的就是第二种方法,用Android提供给我的API来绘制。...如本代码中,绘制长度1的实线,再绘制长度2的空白,再绘制长度4的实线,再绘制长度8的空白,依次重复.1是偏移量,可以不用理会....Android包含了多个PathEffect,包括: CornerPathEffect 可以使用圆角来代替尖锐的角从而对基本图形的形状尖锐的边角进行平滑。...这就能够保证应用到相同形状的填充效果将会绘制到新的边界中。

2.2K60

Android绘制优化(一)绘制性能分析

Android性能优化分为很多种,比较常用的有绘制优化、内存优化、耗电优化和稳定性优化等,这个系列我们就来学习性能优化中的绘制优化。...1.绘制原理 Android绘制View有三个主要的步骤,分别是measure、layout和draw。...View过度绘制,导致某些像素在同一帧时间内被绘制多次。 UI线程中做了稍微耗时的操作。 为了解决上述的问题,除了我们要在写代码时要注意外,也可以借助一些工具来分析和解决卡顿问题。...蓝色代表测量绘制的时间,也就是需要多长时间去创建和更新DisplayList。如果蓝色柱状图很高,可能是需要重新绘制,或者View的onDraw方法处理事情太多。...导致这一问题产生的原因主要是线程在绘制时,在很长一段时间都没有分配到CPU时间片,因此无法继续进行绘制。按m键来高亮该时间段,我们来查看CPU的情况,如下图所示。 ?

1.5K50

速读原著-Android应用开发入门教程(图像、图形、文本的基本绘制)

9.2 图像、图形、文本的基本绘制 Android 中基本的绘制包括了图像、图形和文本绘制。...参考示例程序:ApiDemo 的AlphaBitmap(ApiDemo=>Graphics=>AlphaBitmap) 源代码:android/apis/graphics/AlphaBitmap.java...本程序在界面上自上而下一共绘制了 3 个内容,第一个是一个原始位图,第二个是经过变化的位图,第三个是几何图形。...3 个位图 } } 第 1 个图是直接对原始的图像进行了绘制;第 2 个图是在原始图像的基础上抽取了透明通道,所以绘制时画笔(Paint)的颜色起到了作用;第 3 个图是调用...drawIntoBitmap()绘制了一个具有渐变颜色的圆,并附加了文字。

40310

Android 应用开发】Canvas 精准绘制文字 ( 文本边界坐标解析 | 绘图位置 )

文章目录 一、文本边界坐标解析 二、绘图位置 一、文本边界坐标解析 ---- 在上一篇博客 【Android 应用开发】Canvas 精准绘制文字 ( 测量文本真实边界 | 将文本中心点与给定中心点对齐...原点坐标系的值 ; 下图中的原点位置 , 就是调用 Canvas 的 drawText 方法 , 传入的 x 值和 基线值 ; 下图中的 绿色矩形框是 Canvas 的绘图区域 , 橙色矩形框是 Canvas 绘制文本的实际区域...绘图区域 最左侧 距离 文本实际区域 的左侧这段空隙的宽度 ; right 值是 绘图区域 最左侧 距离 文本实际区域 的右侧这段空隙的宽度 ; 可以得到 文本区域 的中心值 , 距离 绘图区域 的值为...- 基线值 , 基线值是 0 , 正数 , 负数 , 0 都有可能 , 这里是 0 ; 一般是正数或 0 , 负数不常见 ; 二、绘图位置 ---- 使用 Canvas 的 drawText 方法绘制文字..., 传入 ( x , y ) 坐标 , x 是绘制区域的左侧 , y 是文本基线 , 绘制的位置如下 : 如果不是要求很精确的话 , 一定程度上可以理解为 传入的值 左下角的位置 ; 如果要精准到像素级别

1.7K10

Android界面绘制原理

Android的Activity界面从何处开始绘制 Activity启动之后,灰溜溜的会去跑onCreate,onStart,onResume等生命周期方法,那么从framework里面,让我们看看Activity...请求的时候又重复收到一次layout请求,然后再进行界面的layout,那不就乱套了,然后就是真正的界面绘制了: void scheduleTraversals() { if (!...final DisplayMetrics packageMetrics = res.getDisplayMetrics(); res.getValue(com.android.internal.R.dimen.config_prefDialogWidth...,后面单独讲 总结 Activity的绘制流程在onResume之后开始,切入点是ViewRootImpl类的performTraversals方法 View的绘制流程是measure,layout,draw...ViewGroup在绘制过程中会先遍历子View然后才会绘制自身,例如先遍历measure子View,然后再计算出自身的尺寸 ?

1.5K10

android之View绘制

Android系统的视图结构的设计也采用了组合模式,即View作为所有图形的基类,Viewgroup对View继承扩展为视图容器类,由此就得到了视图部分的基本结构--树形结构 View定义了绘图的基本操作...子类也不应该修改该方法,因为其内部定义了绘图的基本操作:      (1)绘制背景;      (2)如果要视图显示渐变框,这里会做一些准备工作;      (3)绘制视图本身,即调用onDraw...而对于ViewGroup则不需要实现该函数,因为作为容器是“没有内容“的,其包含了多个子view,而子View已经实现了自己的绘制方法,因此只需要告诉子view绘制自己就可以了,也就是下面的dispatchDraw...()方法;      (4)绘制子视图,即dispatchDraw()函数。...// //所有子视图都绘制完成后这里还可以做一些处理,比如绘制阴影什么的 //     }   其他  从以上分析可以看出View树的绘制是一个递归的过程,从ViewGroup

68590

Android文本开发

Exception e) { e.printStackTrace(); } } ``` 07.如果对选中文字加粗 Span 的分类介绍 字符外观,这种类型修改字符的外形但是不影响字符的测量,会触发文本重新绘制但是不触发重新布局...ForegroundColorSpan,BackgroundColorSpan,UnderlineSpan,StrikethrougnSpan 字符大小布局,这种类型Span会更改文本的大小和布局,会触发文本的重新测量绘制...:focusable="true";android:focusableInTouchMode="true" (效果:软键盘不弹出,光标不显示,其他输入框也不获取焦点,ps非直接父布局没有效果) android...<activity android:name=".NewArticleActivity" android:windowSoftInputMode="adjustResize|stateHidden...参考博客 Android文本编辑器(四):HTML文本转换:https://www.jianshu.com/p/578085fb07d1 Android 端 (图文混排)富文本编辑器的开发(一):https

8.4K20

Android 绘制原理浅析【干货】

对于现在的移动开发市场逐渐趋向成熟,趋向饱和,很多不缺人的公司,都需要高级程序员.在说大家也都知道,面试要造飞机大炮,进去后拧螺丝,对于一个3年或者5年以上Android开发不稍微了解一些Android...在讲Android的绘图原理前,先介绍一下Android中View的基本工作原理,本文暂不介绍事件的传递流程. 2 View 绘制工作原理 我们先理解几个重要的类,也是在面试中经常问到的 2.1...的绘图原理浅析 3.1 Android屏幕绘制 关于绘制,就要从performDraw()说起,我们来看一下这个流程到底是怎么绘制的....Surface本质上仅仅代表了一个平面,绘制不同图案显然是一种操作,而不是一段数据,Android使用了Skia绘图驱动库来进行平面上的绘制,在程序中使用canvas来表示这个功能. 3.2 双缓冲技术的介绍...这其实涉及到屏幕绘制原理(除了Android其他平台也是类似的). ? 我们都知道显示器以固定的频率刷新,比如 iPhone的 60Hz、iPad Pro的 120Hz。

1.4K50
领券