Je ne suis pas sûr de ce que vous voulez dire, mais je pense que ce que vous essayez de faire est que l'utilisateur est capable de mettre en forme ou créer automatiquement des formes. Vous pouvez utiliser le lien fourni, espérons comme point de départ pour cela, vous pouvez configurer différentes formes suivant le deuxième lien :)
https://examples.javacodegeeks.com/android/core/graphics/canvas-graphics/android-canvas-example/
https://developer.android.com/reference/android/graphics/Canvas.html
void drawOval(float left, float top, float right, float bottom, Paint paint)
Ou quelque chose comme ça
public static Bitmap getRoundedShape(Bitmap scaleBitmapImage) {
if (scaleBitmapImage == null) {
return null;
}
int sourceWidth = scaleBitmapImage.getWidth();
int sourceHeight = scaleBitmapImage.getHeight();
int targetWidth = Math.min(sourceWidth, sourceHeight);
int targetHeight = targetWidth;
Bitmap targetBitmap = Bitmap.createBitmap(
targetWidth,
targetHeight,
Bitmap.Config.ARGB_8888
);
Canvas canvas = new Canvas(targetBitmap);
Path path = new Path();
path.addCircle(
((float) targetWidth - 1)/2,
((float) targetHeight - 1)/2,
Math.min(((float) targetWidth), ((float) targetHeight))/2,
Path.Direction.CCW
);
canvas.clipPath(path);
Bitmap sourceBitmap = scaleBitmapImage;
canvas.drawBitmap(
sourceBitmap,
new Rect(0, 0, sourceBitmap.getWidth(),
sourceBitmap.getHeight()),
new Rect(0, 0, targetWidth, targetHeight),
null
);
return targetBitmap;
}
Source: http://www.programcreek.com/java-api-examples/index.php?api=android.graphics.Canvas
Cette classe ne dessine pas dans une interface graphique autre qu'Android, bien que –
@ cricket_007 Je ne veux pas dessiner l'interface graphique, ce que je veux est de créer du canevas et dessiner dessus comme drawArc drawLine ... et puis l'enregistrer comme bitmap – Michal
Et Graphics2D peut déjà le faire, plus ou moins https://stackoverflow.com/questions/8202253/saving-a-java-2d-graphics-image-as-png-file –