gpt4 book ai didi

java - 在 Canvas 上缩放后在路径上消除锯齿

转载 作者:搜寻专家 更新时间:2023-11-01 08:47:14 24 4
gpt4 key购买 nike

我有一个应用程序可以在屏幕上绘制一些形状。问题是抗锯齿不适用于我使用路径绘制的形状,但仅在缩放(缩放)之后起作用。另一方面,绘制圆圈没有问题(即使在缩放之后)。缩放效果很好,只是之后形状不清晰。

...
// Matrix m = new Matrix();
// m.setValues(createMatrix());
// canvas.concat(m);
//or
canvas.scale(6.0f, 6.0f); // the upper code is used on real, but the same problem occures with this call
...
RectF oval = new RectF(x, y, x + width, y + height);
currentPaint.setAntiAlias( true );
canvas.drawOval(oval, currentPaint);

currentPaint.setAntiAlias( true );
canvas.drawPath(getPathOfShape(), currentPaint);

有人可以帮我解决这个问题吗?

最佳答案

我找到了问题的原因。问题是,如果启用了硬件加速,这不受 android 的支持。禁用硬件加速后,缩放工作正常。

view.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

有关这方面的更多信息,请参阅 google 站点:

http://developer.android.com/guide/topics/graphics/hardware-accel.html

关于java - 在 Canvas 上缩放后在路径上消除锯齿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26975967/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com