全网首发:JDK绘制文字:一绘制流程
Posted 柳鲲鹏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全网首发:JDK绘制文字:一绘制流程相关的知识,希望对你有一定的参考价值。
这个事情一直想搞明白,结果一直没有彻底搞清楚。近来因为工作关于,终于彻底搞明白了。现在把关键路径记录下来。便于参考。
想想其实很简单,不就是写个字嘛,拿到图像直接绘制就行了。实际上呢?为了这个简单,大量的工作,吾看了都是头晕眼花。
- SunGraphics2D.drawChars
- ValidatePipe.drawChars
- GlyphListPipe.drawChars
实际上是子类SoldTextRenderer/SoldTextRendererAA绘制的。
- SolidTextRenderer.drawGlyphList
- DrawGlyphList.DrawGlyphList
这个是本地函数。
- DrawGlyphList.c
Java_sun_java2d_loops_DrawGlyphList_DrawGlyphList调用drawGlyphList绘制。关键参数是pPrim->funcs.drawglyphlist。
至此,绘制流程就完成了。具体的drawglyphlist是哪个函数,需要分析所在的pPrim(类型NativePrimitive),是怎么初始化的。搞清楚了这个,才知道绘制函数是哪个。
为了方便,把pPrim称之为绘制句柄。
以上是关于全网首发:JDK绘制文字:一绘制流程的主要内容,如果未能解决你的问题,请参考以下文章