2014-03-02 35 views
-1
 public static Bitmap getCircularBitmapWithWhiteBorder(Bitmap bitmap, 
     int borderWidth) { 
    if (bitmap == null || bitmap.isRecycled()) { 
     return null; 
    } 
    final int width = bitmap.getWidth() + borderWidth; 
    final int height = bitmap.getHeight() + borderWidth; 
    Bitmap canvasBitmap = Bitmap.createBitmap(width*2, height, Bitmap.Config.ARGB_8888); 
    BitmapShader shader = new BitmapShader(bitmap, TileMode.CLAMP, TileMode.CLAMP); 
    Paint paint = new Paint(); 
    paint.setAntiAlias(true); 
    paint.setShader(shader); 
    Canvas canvas = new Canvas(canvasBitmap); 
    float radius = width > height ? ((float) height)/2f : ((float) width)/2f; 
    canvas.drawCircle(width/2, height/2, radius, paint); 
    paint.setShader(null); 
    paint.setStyle(Paint.Style.STROKE); 
    paint.setColor(Color.WHITE); 
    paint.setStrokeWidth(borderWidth); 
    canvas.drawCircle(width/2, height/2, radius - borderWidth/2, paint);  
    return canvasBitmap; 
} 

我有圆形的形象,我想接下来的重视圆形图像不大不小的rectangle..similar的他 enter image description here 这是一个圆圈,旁边有一个矩形连接。我怎样才能做到这一点?画布绘制矩形的Android

+0

正确调整参数,它定位在rectabgle是3面,只有一人失踪是一个连接到圆形圆形图片 – user3278732

+0

点击图片链接查看图片更好的原因背景稍显透明http://i.stack.imgur.com/1UGEb.png – user3278732

回答

0

你可以绘制您的矩形或多或少是这样的:

canvas.drawRect(width/2 + radius, height/2 - radius, width , height, paint); 

只是如果需要

+0

@ user3278732它适合你吗? – donfuxx