che sto cercando di disegnare due cerchi in questo modo:Disegno 2 cerchi su una tela
Questo è il modo che sto cercando di farlo:
Bitmap bmp = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_4444);
Canvas c = new Canvas(bmp);
RectF rect = new RectF(0,0,width,width);
Paint paint = new Paint();
drawCircles(paint, c, width, height, width);
ImageView img = (ImageView) findViewById(R.id.imageView1);
img.setImageBitmap(bmp);
img.setScaleType(ScaleType.FIT_CENTER);
Ed ecco il mio metodo drawCircles()
:
private void drawCircles(Paint paint, Canvas c, int width, int height, int radius) {
paint.setARGB(255, 255 , 10, 21);
paint.setStrokeWidth(10);
paint.setAntiAlias(true);
paint.setStrokeCap(Paint.Cap.BUTT);
paint.setStyle(Paint.Style.STROKE);
if(width < height && radius == 0){
radius = width/2;
height = width;
} else if (radius == 0){
radius = height/2;
width = height;
}
Paint paint2 = new Paint();
paint2.setARGB(255, 255 , 10, 21);
paint2.setStrokeWidth(10);
paint2.setAntiAlias(true);
paint2.setStrokeCap(Paint.Cap.BUTT);
paint2.setStyle(Paint.Style.STROKE);
c.drawCircle(width/2, height/2, radius-10, paint);
c.drawCircle(width/2, height/2, 50, paint2);
}
io non so perché, ma ho solo un cerchio, il piccolo (quello disegnato con paint2
). Quale può essere la ragione?
controllare il vostro valore del raggio in modalità debug. potrebbe essere inferiore a 10 ciò che stai sottraendo al momento del sorteggio. – Raj
@Raj L'ho già controllato, il raggio è buono. – dziwna
quindi controllare il valore del raggio. potrebbe essere 60. per testare hardcode il radiante in first drawCircle ad alcuni dove circa 30 come questo e controllare. c.drawCircle (larghezza/2, altezza/2, 30, pittura); – Raj