如何在代码中绘制这条路径

时间:2015-01-02 21:21:02

标签: java android eclipse

祝大家新年快乐!

我有一个关于在代码中绘制背景的问题。我有一个简单的Android游戏代码,所有的声明都是png格式,期待背景。我不是程序员(但是这个新手,我通过实例来学习)。

我认为此代码在屏幕上绘制背景云:

//draw cloud layer 1
    background_shader.setColor(getResources().getColor(R.color.blue_dark));
    int radius = DrawBackgroundCloud(canvas, (ScreenHeight() / 2), 7);
    canvas.drawRect(0, (float) ((ScreenHeight() / 2.2) + radius * 1.5), ScreenWidth(), ScreenHeight(), background_shader);

    //draw cloud layer 2
    background_shader.setColor(getResources().getColor(R.color.blue_darkest));
    radius = DrawBackgroundCloud(canvas, (int) (ScreenHeight() / 1.5), 4);
    canvas.drawRect(0, (float) ((ScreenHeight() / 1.7) + radius * 1.5), ScreenWidth(), ScreenHeight(), background_shader);

这会画一些随机的圆圈作为云,但我想改变它来绘制像丘陵或山脉的东西。这是当前背景图片以及我正在寻找的内容。

http://prntscr.com/5nqa25

任何人都可以帮我吗?我真的非常感谢

1 个答案:

答案 0 :(得分:0)

回应评论中的进一步问题:

您无法使用canvas.drawColor真正做到这一点,但您可以使用正确的Paint对象并使用canvas.drawPaint(或使用Paint对象的其他canvas方法 - 如果您想要例如用渐变绘制形状。)

创建渐变Paint对象的关键部分是调用其setShader(...)方法。例如:

mGradientPaint = new Paint();
mGradientPaint.setStyle(Paint.Style.FILL);
mGradientPaint.setShader(new LinearGradient(0, 0, 0, getHeight(), Color.TRANSPARENT, Color.GREEN, Shader.TileMode.MIRROR));