我的目标是更新我编写的 SVG 库以支持使用模式填充。在我正在查看的一个使用图案填充的特定 SVG 文件中,图案本身是根据形状定义的(与外部或嵌入式位图相反)。
为了能够处理这个问题,我考虑做的是让解析器创建一个Drawable
绘制由模式定义的形状,然后以某种方式将它Drawable
用作Shader
.Paint
不幸的是,似乎不DrawableShader
存在 a 这样的东西,并且我自己实现这样的东西意味着从我从现有Shader
类的源代码中可以看到的内容中深入研究本机代码。
我认为对我来说唯一的解决方案是将模式图块渲染为 aBitmap
然后使用BitmapShader
. 这没关系,但为了避免缩放Bitmap
s 的潜在质量问题,我更喜欢将所有内容都保留为一组向量。
在我沿着这条路线走之前Bitmap
,BitmapShader
还有其他我忽略的方法吗?