2014-09-25补充:
Color.argb(16, 210, 35, 210)
原来Color类就可以实现,Paint的方案有些复杂了。
</pre><p></p><p></p><p>今天想绘制一条根据参数颜色动态变化的曲线,参数不固定,因此需要根据参数来获取颜色值。研究了很久,搞了一个通过Paint实现的方案。</p><p><span style="color:rgb(17,17,17); font-family:Verdana,Arial,Helvetica,sans-serif; font-size:13px; line-height:23.399999618530273px">Paint 中包含了很多方法对其属性进行设置,主要方法如下: </span></p><span style="color:rgb(17,17,17); font-family:Verdana,Arial,Helvetica,sans-serif; font-size:13px; line-height:23.399999618530273px"> setAntiAlias: 设置画笔的锯齿效果。 </span><br style="margin:0px; padding:0px; color:rgb(17,17,17); font-family:Verdana,Arial,Helvetica,sans-serif; font-size:13px; line-height:23.399999618530273px" /><span style="color:rgb(17,17,17); font-family:Verdana,Arial,Helvetica,sans-serif; font-size:13px; line-height:23.399999618530273px"> setColor: 设置画笔颜色 </span><br style="margin:0px; padding:0px; color:rgb(17,17,17); font-family:Verdana,Arial,Helvetica,sans-serif; font-size:13px; line-height:23.399999618530273px" /><span style="color:rgb(17,17,17); font-family:Verdana,Arial,Helvetica,sans-serif; font-size:13px; line-height:23.399999618530273px"> setARGB: 设置画笔的a,r,p,g值。 </span><br style="margin:0px; padding:0px; color:rgb(17,17,17); font-family:Verdana,Arial,Helvetica,sans-serif; font-size:13px; line-height:23.399999618530273px" /><span style="color:rgb(17,17,17); font-family:Verdana,Arial,Helvetica,sans-serif; font-size:13px; line-height:23.399999618530273px"> setAlpha: 设置Alpha值 </span><br style="margin:0px; padding:0px; color:rgb(17,17,17); font-family:Verdana,Arial,Helvetica,sans-serif; font-size:13px; line-height:23.399999618530273px" /><span style="color:rgb(17,17,17); font-family:Verdana,Arial,Helvetica,sans-serif; font-size:13px; line-height:23.399999618530273px"> setTextSize: 设置字体尺寸。 </span><br style="margin:0px; padding:0px; color:rgb(17,17,17); font-family:Verdana,Arial,Helvetica,sans-serif; font-size:13px; line-height:23.399999618530273px" /><span style="color:rgb(17,17,17); font-family:Verdana,Arial,Helvetica,sans-serif; font-size:13px; line-height:23.399999618530273px"> setStyle: 设置画笔风格,空心或者实心。 </span><br style="margin:0px; padding:0px; color:rgb(17,17,17); font-family:Verdana,Arial,Helvetica,sans-serif; font-size:13px; line-height:23.399999618530273px" /><span style="color:rgb(17,17,17); font-family:Verdana,Arial,Helvetica,sans-serif; font-size:13px; line-height:23.399999618530273px"> setStrokeWidth: 设置空心的边框宽度。 </span><br style="margin:0px; padding:0px; color:rgb(17,17,17); font-family:Verdana,Arial,Helvetica,sans-serif; font-size:13px; line-height:23.399999618530273px" /><span style="color:rgb(17,17,17); font-family:Verdana,Arial,Helvetica,sans-serif; font-size:13px; line-height:23.399999618530273px"> getColor: 得到画笔的颜色 </span><br style="margin:0px; padding:0px; color:rgb(17,17,17); font-family:Verdana,Arial,Helvetica,sans-serif; font-size:13px; line-height:23.399999618530273px" /><p><span style="color:rgb(17,17,17); font-family:Verdana,Arial,Helvetica,sans-serif; font-size:13px; line-height:23.399999618530273px"> getAlpha: 得到画笔的Alpha值。 </span></p><p><span style="color:rgb(17,17,17); font-family:Verdana,Arial,Helvetica,sans-serif; font-size:13px; line-height:23.399999618530273px"></span></p><p><span style="color:rgb(17,17,17); font-family:Verdana,Arial,Helvetica,sans-serif; font-size:13px; line-height:23.399999618530273px">我们需要的就是setARGB和getColor。</span></p><p><span style="color:rgb(17,17,17); font-family:Verdana,Arial,Helvetica,sans-serif; font-size:13px; line-height:23.399999618530273px"></span></p><pre name="code" class="java">private int getColor(float yourParam) {
int alfa = 120;
int rColor = 255;
int gColor = 255;
int bColor = 255;
/*********
* Your code, change alfa/r/g/b by yourParam
*********/
Paint paint = new Paint();
paint.setARGB(alfa, rColor, gColor, bColor);
return paint.getColor();
}