Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 创建wind rose android_Java_Android_Graph - Fatal编程技术网

Java 创建wind rose android

Java 创建wind rose android,java,android,graph,Java,Android,Graph,我想创建一个类似于此的风玫瑰: 目标是能够根据数据库中的信息更新绿地。 绿色区域应为两度,然后在它们之间创建绿色区域 我从哪里开始找溶液 查看如何创建自定义视图: 请记住,您必须优化绘图代码:不创建对象,尽可能依赖java图形原语 快乐编码,这是一个非常有趣的android开发,但对于新手来说有点复杂 哦,顺便说一下,在这里你可能会对使用PorterDuff模式来实现半透明感兴趣 我为ios做了这样一个指南针。 除自定义视图外,您还应熟悉极坐标: 然后用(r,phi)而不是(x,y)定义一个点

我想创建一个类似于此的风玫瑰:

目标是能够根据数据库中的信息更新绿地。 绿色区域应为两度,然后在它们之间创建绿色区域


我从哪里开始找溶液

查看如何创建自定义视图:

请记住,您必须优化绘图代码:不创建对象,尽可能依赖java图形原语

快乐编码,这是一个非常有趣的android开发,但对于新手来说有点复杂


哦,顺便说一下,在这里你可能会对使用PorterDuff模式来实现半透明感兴趣

我为ios做了这样一个指南针。

除自定义视图外,您还应熟悉极坐标:

然后用(r,phi)而不是(x,y)定义一个点。 你一直都需要它,你用φ从0到360,循序渐进地循环rose。当绘制极坐标时,必须转换为x、y并绘制它。

此外,还需要仿射变换将玫瑰从给定的像素宽度和高度缩放到中性-1,1范围。这样绘图就更容易了。

如前所述,您可能需要实现自定义视图

但是,您尤其需要将渲染分为两部分。背景静态图像和前景动态图像

前景图像可以使用Canvas类生成。它很容易使用,一旦你得到你的头周围。其想法是,您将使用绘制的画布生成位图。有关更多详细信息,请参阅文档:

对于实际渲染,可以在Canvas类中使用drawArc方法:

public void drawArc (RectF oval, float startAngle, float sweepAngle, boolean useCenter, Paint paint)
,float,float,boolean,android.graphics.Paint)


祝你一切顺利

三角函数。当然还有一些图形代码。在ImageView上使用画布绘图