Domanda

Sto cercando di creare una forma circolare che verrà ridimensionata su OnTOUchevent .

Ho seguito rettangolo ridimensionale post, ma penso che a causa della mancanza di conoscenza della matematica, non sto ottenendoCrea cerchio riserbile.

Ho provato a cambiare

canvas.drawRect(
    left + colorballs.get(0).getWidthOfBall() / 2,
    top + colorballs.get(0).getWidthOfBall() / 2, 
    right + colorballs.get(2).getWidthOfBall() / 2, 
    bottom + colorballs.get(2).getWidthOfBall() / 2, paint);
.

a canvas.drawcircle () ;Crea il cerchio ma non proprio quello che volevo.

Puoi per favore dimmi che c'è qualcosa come questo già implementato o quali punti dovrei seguire per convertire questo esempio di rettangolo su cerchio ridimensionabile.

È stato utile?

Soluzione

Allora, il centro del cerchio sarà:

float cx = (left + right) / 2f; 
float cy = (top + bottom) / 2f; 
.

- abbastanza ovvio.Il raggio può essere calcolato utilizzando Math.hypot():

float radius = Math.hypot(top - bottom, right - left) / 2f;
.

Così, abbiamo il centro e il raggio per disegnare un cerchio:

drawCircle(cx, cy, radius, paint);
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top