2013-04-22 130 views
4

在我的Android应用程序中,我将从服务器中检索一些坐标将返回的数据。然后我使用这些坐标来创建线条并在视图中绘制它们。Android中的线路交叉点渲染

我想要一个以不同方式呈现的线条。例如:行渲染

enter image description here

线在顶部是原线,我希望它呈现为在下面的形状。

并且有一些线彼此相交。然后交集可能呈现如下:

enter image description here

路口呈现在左侧的方式就是我想要的。

所以我不知道Android的图形api是否支持这些操作?

回答

2

如果您使用Android Canvas来绘制路径两次,使用不同的笔触大小和颜色。下面是一个创建Bitmap的示例,其图像与您想要的类似:

// Creates a 256*256 px bitmap 
    Bitmap bitmap = Bitmap.createBitmap(256, 256, Config.ARGB_8888); 

    // creates a Canvas which draws on the Bitmap 
    Canvas c = new Canvas(bitmap); 

    // Creates a path (draw an X) 
    Path path = new Path(); 
    path.moveTo(64, 64); 
    path.lineTo(192, 192); 
    path.moveTo(64, 192); 
    path.lineTo(192, 64); 

    // the Paint to draw the path 
    Paint paint = new Paint(); 
    paint.setStyle(Style.STROKE); 

    // First pass : draws the "outer" border in red 
    paint.setColor(Color.argb(255, 255, 0, 0)); 
    paint.setStrokeWidth(40); 
    c.drawPath(path, paint); 

    // Second pass : draws the inner border in pink 
    paint.setColor(Color.argb(255, 255, 192, 192)); 
    paint.setStrokeWidth(30); 
    c.drawPath(path, paint); 

    // Use the bitmap in the layout 
    ((ImageView) findViewById(R.id.image1)).setImageBitmap(bitmap);