创建带有光滑边框的像素图圆圈

时间:2015-10-21 14:57:35

标签: libgdx geometry pixmap

如何在像素图上绘制一个带有光滑边框的圆圈?

配置中的普通“sample”参数不会影响像素图。

编辑:

 Pixmap ds = new Pixmap(width,height, Pixmap.Format.RGBA8888);
 ds.setColor(color);
 ds.fillCircle(ds.getWidth()/2, ds.getWidth()/2, (ds.getWidth()-20)/2);
 texture = new Texture(ds);

 ds.dispose();

圆的半径为200px。

使用shaperenderer创建的普通圆形会产生一个非常光滑的圆圈......

1 个答案:

答案 0 :(得分:1)

pixmap圈子的问题是,它只使用一种颜色,没有渐变/透明度。

我想你想要动态创建圆圈,因为它每次都可以有不同的半径?否则,请创建具有所需大小的图像。你需要三种不同的尺码?做三个不同的图像,依此类推。

如果您需要数百种不同的尺寸,我仍会创建图像,让我们说每十分之一"步骤"然后选择最近的一个并缩放。

如果您无法使用上述所有内容,则取决于您需要绘制的圈数。如果它只是一个"少数" (可能是一些选择圈或类似的)我会使用形状渲染器(只测量渲染循环所需的时间)。

如果这一切都不是你的解决方案,你需要自己创建一个带有pixmap的圆圈,我没有图形人,但我想你可以在绘画程序中创建一个你想要的圆圈并查看它在边缘处的颜色值,以便您可以模拟像素图的这些值。

请注意,pixmap本身非常昂贵,你不应该用它来动态创建纹理(在初始化方法中做)并且绘制单个纹理也非常糟糕,因为纹理更改会导致批量刷新。因此,如果你不将它们全部合并到纹理图集中,使用形状渲染器可能会更快。