每个人。这是我在stackoverflow中的第一个问题。我希望你能理解我糟糕的英语。
我在画布上画重音时发现了奇怪的问题。我一直在测试在 android 上的画布上绘制文本,然后我意识到硬件加速的画布不会画出很少的重音。
这是代码和属性。
硬件加速:真
canvas.drawText("\u0E36", 100, 100, paint); canvas.drawText("isHardwareAccelerated : " + isHardwareAccelerated(), 150, 200, paint);
上面的代码不会在画布上绘制 \u0E36 字符。
hardwareAccelerated : false,带空格的 Unicode(或任何字符串)
canvas.drawText(" \u0E36", 100, 100, paint); canvas.drawText("isHardwareAccelerated : " + isHardwareAccelerated(), 150, 200, paint);
上面的代码在画布上绘制 \u0E36 字符。
硬件加速:假
canvas.drawText("\u0E36", 100, 100, paint); canvas.drawText("isHardwareAccelerated : " + isHardwareAccelerated(), 150, 200, paint);
上面的代码在画布上绘制 \u0E36 字符。
我意识到,当我将硬件加速设置为 true 时,没有字符串就不会显示重音。
但是,如果我在重音之前放置任何字符或空格,它就会起作用。
而且,如果我将硬件加速设置为 false,canvas 会在没有任何字符串的情况下绘制重音。
我的问题是为什么画布在硬件加速时画布不画重音?
我猜它与硬件渲染和软件渲染有关。但我不知道具体为什么。
这是我想通过硬件加速在画布上绘制的内容。是泰国特色。我发现画布上也没有显示一些拉丁重音。
http://www.unicodemap.org/details/0x0E36/index.html
我的声望点是0,所以我不能发布他们的照片。我希望你们能理解我糟糕的英语。