2017-06-02 1 views
-1

J'ai besoin d'utiliser Android classe Canvas pour créer des dessins comme dans le projet android. Mais je ne développe pas l'application android juste un simple script de ligne cmd pour générer des tas de dessins. Maintenant, j'ai trouvé que javas Graphics2D ne remplit pas mes besoins. Alors, comment puis-je utiliser des graphismes de toile Android pour projet java dans Eclipse?Java: Comment utiliser android class android.graphics.Canvas dans le projet Eclipse java?

Je veux créer la toile et attirer comme drawArc drawLine ... et puis enregistrez-le en mode point

+0

Cette classe ne dessine pas dans une interface graphique autre qu'Android, bien que –

+0

@ 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

+0

Et Graphics2D peut déjà le faire, plus ou moins https://stackoverflow.com/questions/8202253/saving-a-java-2d-graphics-image-as-png-file –

Répondre

0

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